【发布时间】:2014-06-02 05:17:27
【问题描述】:
$criteria->with 有问题。我正在尝试在关系中搜索,但它一直给我错误:“完整性约束违规:1052 列 'id' 在 where 子句中不明确”。我搜索了有关该问题的信息,发现我需要一个别名。
所以,现在我有了这个:
$q=$_POST['q'];
$url=Yii::app()->request->url;
$model=new Peticion('search');
$model->unsetAttributes();
$criteria->compare('t.id',$q,true, 'AND');
//$criteria->compare('decreto.ndecreto',$q,true, 'OR');
//$criteria->compare('decreto.gaceta',$q,true, 'OR');
$criteria->compare('t.tipos_id',$q,true, 'OR');
$criteria->compare('t.vendedor_id',$q,true, 'OR');
$criteria->compare('t.clientes_id',$q,true, 'OR');
$criteria->compare('t.fechacot',$q,true, 'OR');
$criteria->compare('t.metodologia',$q,true, 'OR');
$criteria->compare('t.fechaven',$q,true, 'OR');
$criteria->compare('t.departamento_id',$q,true, 'OR');
$criteria->compare('t.muestras_id',$q,true, 'OR');
$criteria->with = array( 'vendedor');
$criteria->compare('Vendedor.nombre',$q,true, 'OR');
$q 是我要用来比较的字符串,所以我认为这是一个关系问题。这是我的关系:
Peticion 模型(我试图搜索的表)
'vendedor'=>array(self::BELONGS_TO,'Vendedor','vendedor_id'),
供应商模型(关系)
'peticion'=>array(self::HAS_MANY,'Peticion','peticion_id'),
为什么我仍然收到错误消息?
【问题讨论】:
-
如何将 'Vendor.nombre' 更改为 'vendor.nombre'
-
你在哪里使用这个标准?
-
@tinybyte 我做到了,但没有任何改变
-
我认为错误来自其他地方,您如何使用此标准?
-
@tinybyte 我正在使用所有页面的搜索框标准,我正在使用它在“请愿书”中搜索,我在请愿控制器中使用此标准,在 actionIndex
标签: yii model criteria relation ambiguous