php - Laravel 的 belongsTo 关系

标签 php laravel-4 eloquent

好吧,我对模型的 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/

相关文章:

php - 无法在 Windows 上安装 XDEBUG?

php - 函数前的下划线在php中是什么意思?

php - Laravel Redirect::route() 在 vhost 上访问错误的 url

laravel-4 - 在 eloquent 模型中获取主键名称

mysql - 如何为模型中的所有选择查询定义默认 where 条件?

php - 颠覆网络管理

php - 使用带有 mkdir 路径的 php 保存 mysql 备份数据库

php - laravel 翻译自定义回退

mysql - 如何将 sql 函数添加到 Laravel Eloquent 模型

php - 仅比较来自数据库 Timestamp Laravel 的日期