首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >associate是如何工作的?

associate是如何工作的?
EN

Stack Overflow用户
提问于 2016-11-29 01:23:38
回答 3查看 67关注 0票数 0

我在试着让助理去工作。

用户模型上的关系:

代码语言:javascript
复制
public function group()
{
    return $this->belongsTo('User');
}

所以我这么做了:

代码语言:javascript
复制
$user = new User();
//save user fields
....
$user->save();

$group = Group::find(1);
$user->group()->associate($group);

插入了一个新用户,但是在user表的group_id的FK中,我得到了null。

EN

回答 3

Stack Overflow用户

发布于 2016-11-29 01:41:10

关联需要在保存之前。

代码语言:javascript
复制
$user = new User();
//save user fields
....
$group = Group::find(1);
$user->group()->associate($group);
$user->save();
票数 1
EN

Stack Overflow用户

发布于 2016-11-29 01:41:25

好吧,假设您想要将评论与博客帖子相关联,因为评论只能是针对我们将使用associate的特定帖子。在我们的Post模型中,我们将拥有以下内容:

代码语言:javascript
复制
public function comments(){
    return $this->hasMany('App\Comment');
}

在我们的评论模型中,我们有:

代码语言:javascript
复制
         public function post(){
       return $this->belongsTo('App\Post');
    }

在我们的CommentsController中,我们将拥有以下内容:

代码语言:javascript
复制
  $comment = new Comment;
  $post=Post::find($post_id);
  $comment->post()->associate($post);
  $comment->save();

请注意,只有在将其与帖子关联之后才能保存它。

票数 0
EN

Stack Overflow用户

发布于 2016-11-29 01:42:07

关联后需要保存用户

代码语言:javascript
复制
$user->save();

完整代码

代码语言:javascript
复制
$user = User::create([
   'field1' => $request->field1,
....
]);

$group = Group::find(1);
$user->group()->associate($group);
$user->save();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40850070

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档