我定義爲一個雄辯的ORM的關係如下:Laravel Eloquent ORM急切加載。關係不正確地返回空
ProductConfiguration:
產品
public function productConfigurations()
{
return $this->hasMany('Excel\Products\ProductConfiguration');
}
public function productType()
{
return $this->belongsTo('Excel\Products\ProductType');
}
我希望如果我做了以下我將加載指定產品類型的所有產品配置,以及相關產品的嵌套ed產品類型詳細信息和產品配置貨幣
$results = ProductConfiguration::with(
array(
'product' => function($query) use ($product_type) {
$query->where('product_type_id' , $product_type);
},
'product.productType',
'currency'
)
)
->get();
但是,返回的集合將'product'設置爲NULL。貨幣關係在那裏,但產品關係不是。我可以看到輸出的SQL查詢和選擇產品,如果我直接粘貼到我的SQL編輯器
select * from `products`
where `products`.`id` in ('12', '13')
and `product_type_id` = '1'
我是正確地認爲該查詢的結果應包括在檢索正確的產品查詢我的收藏,還是在我的思想中有一些明顯的缺陷?
發生什麼,如果你刪除''' 'product.productType''''和它添加到你'''' product''''功能:'' '$查詢 - >與( 'productType')'''?希望有所幫助。 – ArjanSchouten 2014-10-20 09:40:09
同樣的結果。產品是NULL。它的奇怪,因爲正確的SQL quries正在運行,但結果並沒有出現在收集 – 2014-10-20 09:53:55