Yii - 获取数据,我将其保存为数组值

时间:2015-05-11 06:24:43

标签: php database-design yii

no  | name   | status
----+--------+---------
01  | karthi | 1,2,3,4 
02  | kuma   | 2,3,4   

在上表中,多个status值存储在表格中。

我使用以下代码,但其返回空值

$criteria = new CDbCriteria;

$criteria->compare = array("status"=>1);

$test    = Test::model()->findAll($criteria);

如何仅提取status 1个值行?

2 个答案:

答案 0 :(得分:0)

更好的解决方案是拥有一个相关的表格。但是你可以用你的解决方案做到这一点。只需要爆炸状态值并获取结果数组的第一项。类似的东西:

$statuses = explode(",", $status); //$status is "1,2,3,4" for example
$result = $statuses[0];

答案 1 :(得分:0)

如果您的值以逗号分隔,您可以将它们分解为数组,然后检查数组中是否需要值:

$searchValue = 1;
$statuses = explode(",", $status);
if (in_array($searchValue, $statuses)) {
   //your code here
}

PS:但正如@hamed所说,为这些数据建立一个单独的关系表是更好的数据库设计。