Эй, ребята, у меня запутанный вопрос
У меня есть 3 таблицы
- basket_lists (тележки)
- basket_items (carts_item)
- продукты
с этим переносом
'basket_lists':
$table->bigIncrements('id');
$table->unsignedBigInteger('user_id');
$table->boolean('active');
$table->timestamps();
basket_items:
$table->bigIncrements('id');
$table->unsignedBigInteger('product_Id');
$table->unsignedBigInteger('basket_list_id');
$table->timestamps();
products:
$table->bigIncrements('id');
$table->string('title');
$table->text('description');
$table->bigInteger('amount');
$table->timestamps();
У меня есть некоторые продукты в моей таблице, когда я ищу (запрос) {
BasketList::where('active', '=', 1)->with('basketItems.products')->get();
, это только дает мне первый список корзин продуктов (где id = 1), если я вставлю новый список корзин и установите первый список корзин в (active = 0), а второй в (active = 1), он не будет показывать никаких продуктов.
Вот мой Модельные классы:
class BasketList extends Model
{
public function basketItems()
{
return $this->hasMany(BasketItem::class ,'basket_list_id' );
}
}
class BasketItem extends Model
{
public function products()
{
return $this->hasMany(Product::class,'id' );
}
public function basketList()
{
return $this->belongsTo(BasketList::class);
}
}
public function basketItem()
{
return $this->belongsTo(BasketItem::class ,'product_id');
}