나는이 다음 표 pharmacies,categories,medicines
내가 laravel웅변 laravel 여러 관계에서 데이터를 얻을
을 사용하고있는 관계는이
약국처럼 많은 약 한이고 약은 하나 개의 범주에 속하는
medicines
테이블은 다른 컬럼
pharmacy_id
및
category_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
질문이 업데이트되었습니다. –