我使用的是Laravel 5.3。
如果我这样做:
$posts = Post::where('id', 1)
->with('stats')
->first();
是否可以保存stats
关系,例如:
$posts->stats->num_users = 5;
$posts->stats->save();
这是完成此任务的正确方法吗?
答案 0 :(得分:0)
你可以做那样的事情
$posts = Post::where('id', 1)
->with('stats')
->first();
$stats = $post->stats;
如果您想更新值,那么
$stats->update(['num_users'=> 5]);
应该这样做。
答案 1 :(得分:0)
是的,这是可能的。
然而,它可能只是在你的帖子对象上尚未创建'统计'关系。
如果是这种情况,你可以这样做:
//retrieve the post
$post = Post::with('stats')->find(1);
//use existing stats object or new up one
$stats = $post->stats ?: new PostStats(['post_id' => $post->id]);
$stats->num_users = 5;
//persist
$stats->save();