laravel在使用sql语句的时候在绑定参数的时候和其他时候有些地方会不太一样
接下来小结一下
其他时候我们绑定参数的时候可以支持一对多,一个参数可以绑定到sql语句的多处地方
写法一
$sql='DELETE FROM zzz_code_material
WHERE material_classify_id=:material_classify_id OR father_classify_id=:material_classify_id';
$st=$this->sqlHelper->prepare($sql);
$st->bindValue(':material_classify_id', $material_classify_id,PDO::PARAM_STR);
【问号赋值】写法二
$sql='DELETE FROM zzz_code_material
WHERE material_classify_id=? OR father_classify_id=?';
$st=$this->sqlHelper->prepare($sql);
$st->bindValue(1, $material_classify_id,PDO::PARAM_STR);
$st->bindValue(2, $material_classify_id,PDO::PARAM_STR);
而我们再laravel中即使他赋值的参数是一样的,我们也需要一个一个来给他赋值
写法一【如下,即使是同一个参数,我们也给他加上1、2,然后再一个一个赋值】
$sql=DB::delete('DELETE FROM zzz_code_material
WHERE material_classify_id=:material_classify_id OR father_classify_id=:material_classify_id2',
array('material_classify_id'=>$material_classify_id, 'material_classify_id2'=>$material_classify_id));
写法二【使用问号赋值】如下,无需加引号,直接赋值
$sql=DB::delete('DELETE FROM zzz_code_material WHERE material_classify_id=? OR father_classify_id=?',
array($material_classify_id,$material_classify_id));