2014-02-25 22 views
0

我有两个表产品和股票。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 

回答

1

当您传递产品ID时,我认为您只需要一个产品实例。你可以试试这个

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