[英]Yii two MANY_MANY relations with limit
我試圖讓我的模型行具有兩個關系的條件。 因此,我有一個模型$ model和兩個關系:
$ model與$ relation1有MANY_MANY關系,而$ relation1與$ relations2有MANY_MANY關系。
我試圖獲得$ model,其中$ relations2為'1'。
所以我嘗試了:
$model->with('relation1.relations2'=>array('alias'=>'v'))->findAll('v.id=1');
這可行。
但是,當我嘗試為findAll添加限制和偏移量時:
$model->with('relation1.relations2'=>array('alias'=>'v'))->findAll('condition'=>'v.id=1', 'offset'=>0, 'limit'=>10);
它說找不到v別名(因為他正試圖通過兩個查詢來解決該別名,否則由於MANY_MANY關系而無法應用該限制)。
所以,實際上我看到了問題...但是我該如何解決呢?
嘗試這個
$model->with('relation1'=>array('with'=>'relations2','alias'=>'v'))->findAll(array('condition'=>'v.id=1', 'offset'=>0, 'limit'=>10));
$model->with(array('relation1.relations2'=>array('alias'=>'v')))->findAll('condition'=>'v.id=1', 'offset'=>0, 'limit'=>10,
'together'=>true);
你已經提到的原因,這是被形成的兩個查詢,而你需要一個限制,這可以通過以下方式實現together
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.