我正在尝试从我的数据库返回数据,我希望它包含来自相关表的数据。这是一对多的关系。但是,我得到的只是一个错误
此集合实例上不存在属性[用户]。
在我的用户模型中,我有
//App\User.php
class User extends Authenticatable{
use Notifiable;
public function systems(){
return $this->hasMany(\App\Models\General\systems::class,'added_by','id');
}
另一个模型,我称之为系统
//App\Models\General\systems.php
class systems extends Model
{
public function User(){
return $this->belongsTo(\App\User::class,'added_by','id');
}
在我的控制器中我有
$this->systemsObject = new \App\Model\General\systems();
$systems = $this->systemsObject->get()->User;
根据Laravel文档,这应该有效,但它不是。我试过反转外键/本地键参数。我将 - > User大写,小写。
我不知道我做错了什么
答案 0 :(得分:1)
您需要遍历collection,例如:
$systems = $this->systemsObject->get();
foreach ($systems as $system) {
echo $system->User->name;
}