繁体   English   中英

有很多返回 null 值 laravel

[英]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有点误导。
  • 在您的问题中,您的 model class 被定义为User但是当使用find()调用它时,您将其定义为Users ,不知道哪个是正确的,但所有型号名称都应该是single ,所以User不是Users
  • 在您的用户model 中,function 的名称是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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM