I持って、次の表pharmacies,categories,medicines
と私はlaravel雄弁laravel内の複数の関係からデータを取得
を使用しています関係は、この
薬局のような多くの薬きており、医学は一つのカテゴリに属し
medicines
テーブルは他の列
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
私は質問を更新しました –