condition 烦恼
发布于:2022-01-17 09:50:54
#1 韦人上一
var $linker = array(
array(
'type' => 'hasmany', // 一对多关联
'map' => 'sfinish', // 关联的标识
'mapkey' => 'id',
'fclass' => 'u_order',
'fkey' => 'u_id',
'condition' => array('state'=>"已完成", 'odate' =>date('Ymd')),
'enabled' => true
),
);
运行程序报错,
如果写成 'condition' => array('state'=>"已完成", 'odate' =>'2012-01-01'),则程序正常,不得其解,烦恼中
2012-07-24 14:24:36
#2 jake
PHP的类成员变量,在定义阶段是不能使用函数的。也就是说
class abc
{
var $my = date('Ymd');
}
这种做法是会语法出错的。
上面的问题,可以这样做,首先不对那个值赋值(先等于0之类的吧),等在使用spLinker前,通过
$obj->linker[0]['condition']['odate'] = date('Ymd');
再用spLinker就行。
2012-07-24 14:38:12
#3 韦人上一
jake 发表于 2012-7-24 14:38
PHP的类成员变量,在定义阶段是不能使用函数的。也就是说
class abc
{
在controller中这样写$sfinish->linker[0]['condition'] = array('state'=>"已完成", 'odate' =>date('Ymd'));正常,
在model中怎么写????
class sfinish extends spModel{
public $pk = 'id';
public $table = 'user';
//public $odate ;
var $linker = array(
array(
'type' => 'hasmany', // 一对多关联
'map' => 'sfinish', // 关联的标识
'mapkey' => 'id',
'fclass' => 'u_order',
'fkey' => 'u_id',
'condition' => array('state'=>"已完成",
'odate' =>date('Ymd')), // <--这里怎么写??? 'enabled' => true
),
);
}
2012-07-24 15:05:00
#4 jake
请仔细看我的回帖,PHP的语法规定,在类的成员变量初试的时候,不能用函数赋值!
也就是你标红那个地方,PHP语法规定是不能写函数date的!
2012-07-24 15:33:04
#5 韦人上一
非常感谢
2012-07-24 21:56:20