【问题标题】:many to many relation returns null in laravel多对多关系在laravel中返回null
【发布时间】:2018-08-10 19:50:25
【问题描述】:

userclinic 之间存在多对多关系,第三个表是user_clinics。所有三个表都完美地单独返回它们的值,但是当我调用 App\User::find(1)->clinics 或其逆时它返回 null。此外,user_clinic 具有 user_idclinic_id 以及 previlage_id 作为外键。

public function users() {
    return $this->belongsToMany(User::class,'user_clinics','user_id','clinic_id');
}

public function clinics() {
   return $this->belongsToMany(Clinic::class,'user_clinics','clinic_id','user_id');
}

public function adminDashboard(Request $request) {
    $clinic = new Clinic();
    $User_clinic = new User_clinic();
    $user = new User();

    $clinic->name = $request->name;
    $clinic->address = $request->address;

    if($request->hasFile('logo')) {
        $fileName = $request->logo->getClientOriginalName();
        $request->logo->storeAs('public/logos',$fileName);
        $clinic->logo = $request->logo;
    }

    $clinic->save();

    $User_clinic->user_id = auth::user()->id;
    $test=$User_clinic->clinic_id = $clinic->id;

    //now hardcoded previlage_id but deal with it in future...
    $User_clinic->previlage_id = 1;
    $User_clinic->save();

    $test= $clinic::find(2)->users;

    dd($test);

     //return view("admin.dashboard.dashboardFirstPage");
} 

【问题讨论】:

  • 我在数据库 user_clinics 中有一个表并创建它的模型 user_clinic 以使其与另一个优先表的关系。没事还是有什么问题?

标签: php laravel laravel-5


【解决方案1】:

你们的关系不平静吧:

public function users() {
 return $this->belongsToMany(User::class,'user_clinics','user_id','clinic_id');
}

public function clinics() {
 return $this->belongsToMany(Clinic::class,'user_clinics','clinic_id','user_id');
}

应该是这样的:

在用户模型中:

public function clinics() {
 return $this->belongsToMany(Clinic::class,'user_clinics','user_id','clinic_id');
}

在临床模型中:

public function users() {
 return $this->belongsToMany(User::class,'user_clinics','clinic_id','user_id');
}

【讨论】:

  • 我会去然后回复你.. ;)
  • 欢迎 Adil 乐于助人
  • 在 user_clinics 表中包含主键有什么问题吗?
  • 我的荣幸先生。
  • 如果我们在 user_clinics 表中包含主键不会出现问题
猜你喜欢
  • 2012-11-26
  • 2019-07-24
  • 2013-10-21
  • 2019-01-12
  • 2018-04-11
  • 1970-01-01
  • 2014-10-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多