Вопрос

У меня есть два столовых продукта и сток.

Products
--------
id
name

Stock
------- 
id
products_id
organization
price
.

Мой код:

class ProductsModel extends Eloquent {


protected $table = 'products';

public function stock(){

    return $this->hasMany('StockModel', 'products_id');  

}

class StockModel extends Eloquent {


protected $table = 'stock';

}   
.

Если я использую:

$data['products'] = ProductsModel::where('id', $id)->stock()->where('organization', 1)->get();
.

или

$data['products'] = ProductsModel::where('id', $id)->stock->where('organization', 1)->get();
.

Получить ошибку:

Laravel throw error: Undefined property: Illuminate\Database\Eloquent\Collection::$stock
.

Это было полезно?

Решение

Как вы передаете идентификатор продукта, я предполагаю, что вы хотите только один экземпляр продукта.Вы можете попробовать это

 $product = ProductsModel::find($id);
 $stocks = $product->stock;
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top