[英]Has many return null value laravel
我对 laravel 的 OnetoMany 功能有疑问。 我的目标是检索用户的不同代码:代码 Model:
public function users(){
return $this->belongsTo('App\Users');
}
用户 model:
public function code(){
return $this->hasMany('App\Code');
}
还有我的 controller:
$users= Users::find($id);
dd($users->codes);
但是这个 function 返回“null”。 我可以检索我的用户数据,但不能检索相关代码。 感谢您的帮助 !
您的代码中有几个问题:
$users = Users::find($id)
返回带有相应$id
的单个记录,因此将其命名为$users
有点误导。find()
调用它时,您将其定义为Users ,不知道哪个是正确的,但所有型号名称都应该是single ,所以User
不是Users
。code()
但您将其称为$users->codes
是错误的,它应该是$users->code
。您应该将用户 model 中的代码关系重命名为复数:
public function codes()
{
return $this->hasMany('App\Code');
}
接着:
$user= Users::with('codes')->find($id);
dd($user->codes);
请注意,find 只检索一个用户,因此将变量命名为“$user”而不是“$users”
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.