Laravel 4 один ко многим, где
Вопрос
У меня есть два столовых продукта и сток.
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;
. Не связан с StackOverflow