这是我一直很好奇的事情。我试图自己找到答案,但我不能完全考虑谷歌的内容。首先,我习惯于像这样(转义时)执行常规查询方法:
$Database->query($sql)
或者如果使用这样的预备语句:
$Database->statement($sql, array('ss', $val1, $val2))
然而,在阅读项目的源代码时,我发现了这个:
$id = DB::SQL()
->select("postId")
->from("post")
->where("conversationId=:conversationId")->bind(":conversationId", $conversation["conversationId"])
->orderBy("time DESC")
->limit(1)
->exec()
->result();
现在我知道这是PDO,也是一个随机的例子,但是自从我读到这个以来我一直想知道如何做到这一点。如果有人愿意解释,那么我真的很感激。
答案 0 :(得分:1)
您在此处执行的方法是method chaining
。
来自here的简单示例。
<?php
class fakeString
{
private $str;
function __construct()
{
$this->str = "";
}
function addA()
{
$this->str .= "a";
return $this;
}
function addB()
{
$this->str .= "b";
return $this;
}
function getStr()
{
return $this->str;
}
}
$a = new fakeString();
echo $a->addA()->addB()->getStr(); //outputs ab