我有模型Post:
grades = {'Joe':'A','John':'B'}
print(" ".join('{}: {}'.format(k,v) for k,v in grades.items()))
#Joe: A John: B
在控制器上时,我仅设置标题和图像:
protected $with = ['user']
public function user() {
return $this->belongsTo(User::class);
}
关系用户返回我为null。
$posts = Post::get(['title', 'image']);
为什么?如果我从@foreach($posts as $post)
User: {{ $post->user->name }} //null
@endforeach
方法中删除数组,则关系正在工作;如果我设置了数组,则关系用户将我返回null。请帮忙。
答案 0 :(得分:0)
使用Post::get(['title', 'image']);
,您指定只需要这些列。
如果您想使用这种方法,
$posts = Post::with('user')->get(['title', 'image']);
或者您可以不使用protected $with
属性来包含用户,而是使用protected $appends
来将用户始终添加为默认字段
// In Post Class:
protected $appends = "user";
// Then this should work
$posts = Post::get(['title', 'image', 'user']);