簡體   English   中英

通過 laravel eloquent model 加入三表關系

[英]join three table relation by laravel eloquent model

我有下面解釋的三個表

用戶

id
email
password

特產

id
name
active

結果

id
specialitie_id
user_id
result
color

我正在嘗試將結果與 2 個表中的 rest 相關聯,但我不知道該怎么做,下面是我的 model 關系,如果有任何問題請糾正我,我由於錯誤而無法獲取數據關系

結果 Model

class Result extends Model
{
    use HasFactory;
    protected $guarded = [];

    public function user()
    {
        return $this->belongsTo(User::class);
    }

    public function speciality()
    {
        return $this->belongsTo(Speciality::class);
    }
}

用戶 Model

class User extends Authenticatable implements MustVerifyEmail
{

    public function result()
    {
        return $this->hasMany(Result::class);
    }

}

我試圖期待 laravel 中我的關系數據庫表的正確結果

由於results表是中間表列。使用 laravel belongsToMany方法,因此無需創建結果 model。將結果表視為 pivot 表。

在用戶 Model 中添加如下關系

public function specialities()
{
    return $this->belongsToMany(Speciality::class,'results')->withPivot('result','color');
}

另請閱讀此處多對多關系

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM