有很多 return 个空值 laravel
Has many return null value laravel
我在使用 laravel 的 OnetoMany 功能时遇到问题。我的目标是检索用户的不同代码:
代码模型:
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)
returns一条单条记录用对应的$id
so命名
$users
有点误导。
- 在你的问题中你的模型 class 被定义为 User 但是当调用
它与
find()
你定义它作为 Users, 不知道哪个是正确的但所有
模型名称应该是 single,所以 User
not Users
.
- 在你的 User 模型中函数的名称是
code()
但你
称它为 $users->codes
这是错误的它应该是 $users->code
.
您应该将用户模型中的代码关系重命名为复数:
public function codes()
{
return $this->hasMany('App\Code');
}
然后:
$user= Users::with('codes')->find($id);
dd($user->codes);
请注意,find 仅检索一个用户,因此将变量命名为“$user”而不是“$users”
我在使用 laravel 的 OnetoMany 功能时遇到问题。我的目标是检索用户的不同代码: 代码模型:
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)
returns一条单条记录用对应的$id
so命名$users
有点误导。- 在你的问题中你的模型 class 被定义为 User 但是当调用
它与
find()
你定义它作为 Users, 不知道哪个是正确的但所有 模型名称应该是 single,所以User
notUsers
. - 在你的 User 模型中函数的名称是
code()
但你 称它为$users->codes
这是错误的它应该是$users->code
.
您应该将用户模型中的代码关系重命名为复数:
public function codes()
{
return $this->hasMany('App\Code');
}
然后:
$user= Users::with('codes')->find($id);
dd($user->codes);
请注意,find 仅检索一个用户,因此将变量命名为“$user”而不是“$users”