Intereting Posts
Запрос на отправку всегда завернут дополнительным текстом php – imap – перемещение электронных писем на учетную запись antoher Класс PHPUnit_Framework_TestCase недоступен. Исправить … – Makegood, Eclipse Расширение APC и Custom Mmap javascript run xmlhttp php script 404 не найден Уменьшение использования памяти для массива и SplFixedArray Ошибка Apache Родитель: дочерний процесс завершен со статусом 3221225477 – Перезапуск Инициализировать переменную только один раз в php Генерация и деление сетки с помощью css / js / php Предупреждение PHP: array_shift () ожидает, что параметр 1 будет массивом, null указан в /home5/…/php/symfony/command/sfCommandManager.class.php Изображение – загрузка не отвечает, нет доступа к $ _FILES перенаправлять на новую страницу после отправки и проверки формы с помощью php exec не работает в php-скрипте (WAMP Server) Добавление настраиваемых столбцов в модель Propel? Углубленное объяснение уровней Store / Store / веб-сайта Magento?

Laravel принадлежит к отношениям

Хорошо, я немного смущен отношениями, относящимися к моделям.

У меня есть модель Feeds, которая расширяет Eloguent.

Я создал функцию отношений, называемую User.

public function user(){ return $this->belongsTo('User'); // and I also tried return $this->belongsTo('User', 'user_id'); } 

На вид, который я пытаюсь сделать:

 @foreach($feeds as $feed) {{$feed->user()->first_name}} {{$feed->user()->last_name}} @endforeach 

но я получаю эту ошибку. Неопределенное свойство: Illuminate \ Database \ Eloquent \ Relations \ BelongsTo :: $ last_name

Когда я делаю $ feed-> user-> first_name, он отлично работает, но я думал, что user () -> first_name было более эффективным. Что я делаю не так?

Это поля и типы данных базы данных:

корма

 feed_id INT user_id INT feed Text created_at TIMESTAMP updated_at TIMSTAMP school_id INT 

пользователи

 user_id INT username VARCHAR password VARCHAR first_name VARCHAR last_name VARCHAR created_at TIMESTAMP updated_at TIMESTAMP 

Solutions Collecting From Web of "Laravel принадлежит к отношениям"

Использовать динамическое свойство

 $feed->user->first_name; 

Когда вы используете динамическое свойство, это то же самое, что и выполнение ниже, за исключением того, что Laravel делает это для вас с помощью магического __call() .

 $feed->user()->first()->first_name; 

используя только функцию $ feed-> user (), вы можете получить связь, которая позволяет вам добавлять дополнительные ограничения и отношения, прежде чем получать объект на другом конце.