Php 具有多个返回空值laravel
我对laravel的OnetoMany功能有问题。我的目标是检索用户的不同代码: 代码模型:Php 具有多个返回空值laravel,php,laravel,eloquent,has-many,laravel-7,Php,Laravel,Eloquent,Has Many,Laravel 7,我对laravel的OnetoMany功能有问题。我的目标是检索用户的不同代码: 代码模型: public function users(){ return $this->belongsTo('App\Users'); } 用户模型: public function code(){ return $this->hasMany('App\Code'); } 和我的控制器: $users= Users::find($id); dd($
public function users(){
return $this->belongsTo('App\Users');
}
用户模型:
public function code(){
return $this->hasMany('App\Code');
}
和我的控制器:
$users= Users::find($id);
dd($users->codes);
但是这个函数返回“null”。
我可以检索用户的数据,但不能检索关联的代码。
谢谢你的帮助 代码中有几个问题:
返回一条带有相应$users=users::find($id)
的记录 它$id
有点误导$users
- 在您的问题中,您的模型类被定义为User,但在调用
使用
将其定义为用户,不知道哪一个是正确的,但所有 型号名称应该是单个的,因此find()
不是用户
用户
- 在您的用户模型中,函数名为
,但您 称它为code()
,这是错误的,应该是$users->code
$users->code
返回一条带有相应$users=users::find($id)
的记录 它$id
有点误导$users
- 在您的问题中,您的模型类被定义为User,但在调用
使用
将其定义为用户,不知道哪一个是正确的,但所有 型号名称应该是单个的,因此find()
不是用户
用户
- 在您的用户模型中,函数名为
,但您 称它为code()
,这是错误的,应该是$users->code
$users->code
public function codes()
{
return $this->hasMany('App\Code');
}
然后:
$user= Users::with('codes')->find($id);
dd($user->codes);
请注意,find只检索一个用户,因此将变量命名为“$user”而不是“$users”您应该将用户模型中的代码关系重命名为复数:
public function codes()
{
return $this->hasMany('App\Code');
}
然后:
$user= Users::with('codes')->find($id);
dd($user->codes);
请注意,find只检索一个用户,因此将变量命名为“$user”而不是“$users”仔细检查表的参考id和主键
code
和users
仔细检查表的参考id和主键code