我有以下表pharmacies,categories,medicines
,我使用laravel得到laravel雄辯從多個關係數據
的關係都是這樣
藥房有許多藥物和藥屬於一個類別
的medicines
表具有pharmacy_id
category_id
和列+其它列
我想通過id顯示一家藥房,它應該返回藥房的一個對象類別,每個類別都有藥品對象。如果沒有任何類別的藥品,則不應退貨。
我認爲它的模型關係問題
任何想法可能是有用的
類型模型
class Category extends Model
{
protected $table = 'categories';
public function pharmacies()
{
return $this->belongsToMany(Pharmacy::class, 'pharmacy_category', 'category_id', 'id');
}
public function medicines()
{
return $this->hasMany(Medicine::class);
}
}
藥店模型
class Pharmacy extends Model
{
use SoftDeletes;
protected $table = 'pharmacies';
protected $appends = ['favourite'];
public function categories()
{
return $this->belongsToMany(Category::class,'pharmacy_category','pharmacy_id','id');
}
public function getFavouriteAttribute()
{
if (!Auth::check()) {
return 0;
}
return (FavouritePharmacy::where('user_id', Auth::user()->id)->where('pharmacy_id', $this->id)->count() == 1) ? 1 : 0;
}
}
的醫學模式
class Medicine extends Model
{
protected $appends = ['favourite'];
public function orders()
{
return $this->belongsToMany(Order::class);
}
public function getFavouriteAttribute()
{
if (!Auth::check()) {
return 0;
}
return (FavouriteMedicine::where('user_id', Auth::user()->id)->where('medicine_id', $this->id)->count() == 1) ? 1 : 0;
}
}
您是否有密碼? – Laerte
你的問題應該至少表現出最小的努力來接收答覆。在這種情況下,它不會。請向我們展示您嘗試實現此目的和任何相關錯誤。 – Ohgodwhy
我更新了問題 –