在 Magento 中到处都是,你可以找到类似于
$select->joinLeft(
array('c' => $couponTable),
'c.customer_id=root.entity_id AND c.rule_id=:rule_id',
array('c.coupon_id')
);
二元运算符=:有什么作用?
在 Magento 中到处都是,你可以找到类似于
$select->joinLeft(
array('c' => $couponTable),
'c.customer_id=root.entity_id AND c.rule_id=:rule_id',
array('c.coupon_id')
);
二元运算符=:有什么作用?
=:
不是运算符。运算符是=
only,它检查是否相等。:rule_id
是一个标识符,准备好的 SQL 语句使用它来引用参数。有关更多信息,请参阅准备好的语句。
它是准备语句的一部分。看看PDO的prepare
<?php
/* Execute a prepared statement by passing an array of values */
$sql = 'SELECT name, colour, calories
FROM fruit
WHERE calories < :calories AND colour = :colour';
$sth = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
$sth->execute(array(':calories' => 150, ':colour' => 'red'));
$red = $sth->fetchAll();
$sth->execute(array(':calories' => 175, ':colour' => 'yellow'));
$yellow = $sth->fetchAll();
?>
所以在其他地方它将一个值绑定到那个变量......就像
$select->execute(array(":rule_id" => "someValue"));