在thinkphp5.0中。单表使用 model clone 时就会有问题。 需要使用 alias(), 否则会报错。
单表使用 model clone 时就会有问题。 需要使用 alias(), 否则会报错。
例1
$eid = 88;$model = Db::name('user')->where('eid',$eid); $totalModel = clone $model; dd($totalModel->fetchSql(true)->count());
打印的结果为:
SELECT COUNT(*) AS tp_count FROM `fa_client_address` WHERE `eid` = :where_AND_eid LIMIT 1
例2
$eid = 88;$model = Db::name('user')->alias('a')->where('a.eid',$eid); $totalModel = clone $model; dd($totalModel->fetchSql(true)->count());
加了表别名字,打印的结果为:
SELECT COUNT(*) AS tp_count FROM `fa_client_address` `a` WHERE `a`.`eid` = 88 LIMIT 1
例2这样就正确,说明thinkphp5.0 的$model clone 有问题。