【发布时间】:2016-07-21 19:19:24
【问题描述】:
我设置了 2 个模型(帖子和类别)并配置了正确的关系
class Post extends Model
{
protected $fillable = [
'title',
'excerpt',
'body',
'featured',
'published',
'category_id',
];
public function category()
{
return $this->belongsTo('App\Category');
}
}
class Category extends Model
{
protected $fillable = [
'name',
];
public function posts()
{
return $this->hasMany('App\Post');
}
}
而我的 Post 的存储方式是
public function store(Request $request)
{
$post = Post::create($request->all());
return redirect('admin/posts');
}
问题是,它实际上工作正常,它将category_id 设置在桌子上,我可以使用$post->category->name 获取所有动态数据,但是当我var_dump($post->relation) 时,我得到null 返回.
如果我创建一个新的 Post 模型,设置所有属性,保存它,然后关联 Category 模型(如官方频道所述),它将按预期返回所有内容。
现在,我只需要获取它的动态属性,它现在工作正常,但我知道我必须做错事才能获得空响应。我担心它现在可能工作正常,但是当项目变得更大时,我可能会面临更大的问题,我将有很多工作来解决这个问题。
【问题讨论】:
-
你的意思是
var_dump($post->category)? -
不,我的意思是
dd($post->category->name);。我确实得到了这样的预期,这是帖子的类别名称。
标签: laravel eloquent foreign-keys relationship mass-assignment