我有3個型號:用戶,寵物和診所。LARAVEL - 如何創建3個模型間接關係
讓我們假設這些表格:用戶,寵物和診所。關係是,一個用戶可以有多個寵物,一個寵物只有一個診所。
在桌上的「寵物」我有一個FK的user_id和另一個clinic_id。
我想要做的事,如:
$user->clinics();
上的用戶模型返回所有與用戶相關聯的不同診所。現在我只能這樣做:
$user->pets()->with('clinics);
但我想只返回不同的診所。
用戶模式:
public function pets()
{
return $this->hasMany('Petable\Models\Pet', 'user_id', 'id');
}
寵物模式:
public function clinic()
{
return $this->belongsTo('Petable\Models\Clinic', 'clinic_id', 'id');
}
什麼建議嗎?
你是什麼意思'只返回不同clinics'?你能詳細說明一下嗎? –
也許像'$ user-> pets() - > with('clinics') - > distinct() - > get()' –
我想通過寵物返回與用戶有關的所有診所。例如:如果我在同一診所有兩個寵物,$ user-> clinics();應該返回1個診所。如果我在2個不同的診所有2只寵物,它應該返回2個診所。 –