关联模型的condition能传入动态参数不
解决
今天上来看自己的问题,后来我自己改了个RelationModel,加入了自己想要的关联属性
A关联B
比如a.field1=b.field1,只定义了相等条件
添加field_condition关联条件,'field_condition'=>'field1:field1',
$fieldCondition = !empty($val['field_condition'])?$val['field_condition']:'';
if ($fieldCondition){
$fConditions = explode(',',$fieldCondition);;
foreach ($fConditions as $fCondition){
if(strpos($fCondition,':')) {
list($fieldName,$mFieldName) = explode(':',$fCondition);
$fieldVal = $result[$fieldName];
$mappingCondition .= " AND {$mFieldName}='{$fieldVal}'";
}
}
}动态的传入condition,在relation的参数里加个$condition参数,然后在getRelations和getRelation都加$condition参数……
$mappingCondition .= " AND {$model->getPk()}='{$fk}'";
if ($condition) $mappingCondition .= " AND {$condition}";
…… 最佳答案