【问题标题】:Yii criteria params array whit strstr functionYii 标准参数数组和 strstr 函数
【发布时间】:2013-12-09 09:28:06
【问题描述】:

我有这个标准参数数组(我尝试过,但它不起作用):

$dataProvider = new CActiveDataProvider('mydata', array(
        'criteria'=>array(
            'condition' => 'row=:id', 
                'params' => array(**strstr(':id', '.')** => '.com') 
        ),

我需要将strstr 函数添加到params 我该怎么做?

感谢提前

【问题讨论】:

  • 你到底想做什么?
  • 我想将第一个点 (.com) 之后的单词与 = '.com' 进行比较

标签: php yii criteria strstr cactivedataprovider


【解决方案1】:

你应该首先在正确的地方调用 strstr 函数:

'params' => array(':id' => strstr('.com', '.')) 

还要确保您确实希望 strstr 为:

返回 haystack 字符串的一部分,从第一次出现 needle 到 haystack 结束。

【讨论】:

  • 我确定我想使用“strstr”,但我想将“:id”与 google.com 进行比较,所以我想阅读“:id”(比如说:google.ru ) 之后。所以它会像 .ru => .com
  • 标准/参数不能那样工作。 Params 包含一个array(key => value),其中key 代表condition 中的条件占位符。您需要修改条件以反映您实际想要比较的内容:'condition' => "'.com'=:id",
【解决方案2】:

我不完全理解你想要做什么,但参数应该直接用作查询的值。

您可以在将参数发送到条件之前对其进行解析/处理,或者您也可以尝试更改查询以使其按需要工作。如果你能给我一个更详细的例子,也许我可以给你另一个意见。

【讨论】:

    猜你喜欢
    • 2013-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多