【发布时间】:2015-11-13 14:15:15
【问题描述】:
在 yii2 我有搜索模型:
public function search($params)
{
$query = MyModel::find();
$dataProvider = new ActiveDataProvider([
'query' => $query,
]);
$this->load($params);
if (!$this->validate()) {
return $dataProvider;
}
$query->andFilterWhere(['like', 'passengers', $this->passengers]);
return $dataProvider;
}
passengers 是 mysql 表中包含序列化数组的 TEXT 字段。
问: 如何告诉andFilterWhere() 函数反序列化并通过数组中的任何元素进行比较?像这样的东西:$query->andFilterWhere(['like', unserialize('passengers')[0]['name'], $this->passengers]); - 表示数组的第一个元素,带有 'name' 键
【问题讨论】:
-
查询特征方法转换为 SQL。假设通过序列化您指的是 phps
serialize()方法,MYSQL 无法使用它。你需要规范你的数据库
标签: php mysql serialization yii yii2