我有一个表:Email,属性:id,主题,内容,收件人,抄送,...
然后在索引中,只有一个搜索框。我希望此搜索框可以搜索每个属性中的所有值。
就像上面的图片一样,我们可以在1个搜索文本框中按“收件人”属性或“主题”属性或其他属性进行搜索。
我应该在控制器中还是在索引视图中进行编码?
希望大家都能共享代码,以便完成此任务。
谢谢你,祝你有美好的一天
答案 0 :(得分:2)
另一种方式,
$model = User::find()
->where([
'OR',
['like', 'name', $search],
['like', 'email', $search],
['like', 'address', $search],
])
->all();
答案 1 :(得分:0)
知道了。在Yii 2中,您可以执行以下操作:
<?php
$model = User::find()
->where('name LIKE :name', [':name' => $search])
->orWhere('email LIKE :email', [':primary_user' => $search])
->orWhere('address LIKE :address', [':address' => $search])
. . .
->all();
答案 2 :(得分:0)
搜索值在以下字段中过滤后 如果$ search变量为空,则orFilterWhere函数忽略查询中的条件
$model = User::find()
$model
->orFilterWhere(['like', 'name', $search])
->orFilterWhere(['like', 'email', $search])
->orFilterWhere(['like', 'address', $search])
->asArray()
->all();