好的我有那些模特
应用程序/模型/ article.php
<?php
namespace Models;
class Article extends \Eloquent {
protected $table = 'articles';
public function author() {
return $this->belongsTo('Models\Author');
}
}
应用程序/模型/ author.php
<?php
namespace Models;
class Author extends \Eloquent {
protected $table = 'authors';
public function article() {
return $this->hasMany('Models\Article');
}
}
现在让我们用控制器进行测试
应用程序/控制器/管理/ TestController.php
<?php
namespace Admin;
use Models\Article;
class TestController extends BaseController {
public function test()
{
$article = Article::first();
sd($article->author->id);
}
}
现在当我路由到Admin\\TestController@test
时,我得到了这个例外
尝试在sd($article->author->id);
为什么呢?我做错了什么?
答案 0 :(得分:0)
如果你之前没有遇到任何错误,那几乎所有工作都是如此:
$article = Article::first();
实际上与
相同$article = \Models\Article::first();
但如果$article
或->author
不是对象,则因为articles
表为空或者authors
与{{1}之间没有关系集(在数据库中) }}