我有 2 个与 Eloquent Laravel 相关的模型(User
和 UsersDetails
)。
使用“SelDetails”对“用户”关系建模
public function SelDetails {
return $this->belongsTo('App\UsersDetails', 'users_id');
}
我只想从 SelDetails 中获取两列“created_by_id”、“created_by_name”
用户 Controller
$users = User::with(['SelDetails' => function($query){
$query->select(['created_by_id', 'created_by_name']);
}])
->where('is_active', '=', 0)
->orderBy('id', 'desc')
->get();
我正在从 User
获取数据,但 SelDetails
中显示空白
[relations:protected] => Array
(
[SelDetails] =>
)
请纠正我。
最佳答案
感谢大家对这个问题的宝贵回复。我通过以下方式得到了解决方案。
“User”模型与“SelDetails”关系的变化
public function SelDetails {
#return $this->belongsTo('App\UsersDetails', 'users_id');// the old one
return $this->hasOne('App\UsersDetails', 'users_id');
}
“UserController”中的更改
$users = User::with('SelDetails')->where('is_active', '=', 0)->orderBy('id', 'desc')->get();
这就是我所做的更改并得到的结果
谢谢
关于Laravel 5.5无法使用belongsTo获取选定列数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52358106/