我有下表:
Table: rental_request
Columns:
id int(11) AI PK
user_id int(11)
address text
number varchar(45)
kvm varchar(45)
rental varchar(45)
zip varchar(45)
city varchar(45)
timestamp datetime
created_at datetime
updated_at datetime
caseworker int(11)
user_id和caseworker指向我的users表的位置.
现在我试图在我的Laravel应用程序中创建这种关系:
class rental_request extends Model
{
protected $table = 'rental_request';
protected $fillable = ['user_id','address', 'number', 'kvm','rental','zip','city', 'caseworker'];
public function user()
{
return $this->belongsTo('App\User', 'user_id');
}
public function caseworker()
{
return $this->hasOne('App\User', 'user_id', 'caseworker');
}
}
在我的控制器中,我使用以下方法从表中收集数据:
rental_request::orderBy('id', 'desc')->get();
现在,这实际上是有效的,但仅适用于用户,而不适用于个案工作者.
这意味着我的结果中有一个用户对象,但不是caseworker对象.
谁能告诉我我做错了什么?
解决方法:
你可以用来获得个案工作者
rental_request::with(['caseworker','user'])->orderBy('id', 'desc')->get();