簡體   English   中英

Yii兩個MANY_MANY關系具有限制

[英]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));

您需要together CDbCriteria財產

$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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM