1
预先加载贪婪加载使用主键从IN(...)子句中父表,明确Laravel的文件中指出:Laravel /雄辩 - 使用其他与主键
SELECT * FROM书
SELECT * FROM作者那里book_id(1,2,3,4,5,...)
是否有可能不使用从书本此主键,但另一个关键表?甚至是从数据透视表中检索的密钥?
预先加载贪婪加载使用主键从IN(...)子句中父表,明确Laravel的文件中指出:Laravel /雄辩 - 使用其他与主键
SELECT * FROM书
SELECT * FROM作者那里book_id(1,2,3,4,5,...)
是否有可能不使用从书本此主键,但另一个关键表?甚至是从数据透视表中检索的密钥?
是的,我们可以在非主列上进行急切加载。为此,您需要在模型中定义数据库数据的关系: -
定义你的模型书&作者是这样的: -
class Books extends Eloquent {
public static $table = 'books';
public function bookauthors(){
return $this->has_many('authors','book_id');
}
}
class Authors extends Eloquent {
public static $table = 'authors';
public function books()
{
return $this->belongs_to('books','book_id');
}
}
现在你可以使用的代码下面一行渴望负载书籍作者一键“book_id”: -
$books = Books::with(array('bookauthors'))->get();
我希望这有助于你......我还没有在我的本地或测试数据库进行测试。但是对帖子标签关系使用了类似的热切加载。