在 Eloquent 中定义逆关系时,你必须将动态属性的名称与你的相关模型相同吗?
在上面的例子中,我必须称呼这个方法为author吗?还是可以起一个其他的名字?我尝试把它命名为其他名称(只是出于好奇),但它返回null,因此显示错误信息“尝试获取非对象属性”。
编辑:我通过将外键传递给belongsTo使其工作,像这样:
class Book extends Eloquent {
class Book extends Eloquent {
public function author()
{
return $this->belongsTo('Author');
}
}
$books = Book::all()
foreach ($books as $book) {
echo $book->author->firstname;
}
在上面的例子中,我必须称呼这个方法为author吗?还是可以起一个其他的名字?我尝试把它命名为其他名称(只是出于好奇),但它返回null,因此显示错误信息“尝试获取非对象属性”。
编辑:我通过将外键传递给belongsTo使其工作,像这样:
class Book extends Eloquent {
public function daauthor()
{
return $this->belongsTo('Author', 'author_id');
}
}
$book = Book::find(55);
dd($book->daauthor);
有人可以解释一下为什么吗?
BelongsTo()
不会对你的函数名称产生影响。也许你在代码中忽略了一些东西? - Sven van Zoelen