好吧,我对模型的 belongsTo 关系有点困惑。
我有一个扩展 Eloguent 的 Feeds 模型。
我创建了一个名为 User 的关系函数。
public function user(){
return $this->belongsTo('User'); // and I also tried return $this->belongsTo('User', 'user_id');
}
关于我正在尝试做的 View :
@foreach($feeds as $feed)
{{$feed->user()->first_name}} {{$feed->user()->last_name}}
@endforeach
但我收到此错误 Undefined property: 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
最佳答案
使用动态属性
$feed->user->first_name;
当你使用动态属性时,除了 Laravel 使用神奇的 __call()
方法,它与下面的操作相同。
$feed->user()->first()->first_name;
仅使用函数 $feed->user() 可以让您获得允许您在获取另一端的实体之前添加额外约束和 with
关系的关系。
关于php - Laravel 的 belongsTo 关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23208469/