drqyxkzbs21968684 2018-05-31 18:55
浏览 133

Laravel,Eloquent:关系。 在一行中写两个实体

There are 3 entities. Article, User and Category. Article

class Article extends Model{
  public function user()
  {
     return $this->belongsTo(User::class);
  }

 public function category()
    {
      return $this->belongsTo(Category::class);
    }
}

User

class User extends Authenticatable{
public function articles()
  {
      return $this->hasMany(Article::class);
  }

Category

class Category extends Model{
public function articles()
  {
    return $this->hasMany(Article::class);
  }
}

To save the user who created the article in the database, I use the following code in the controller:

    class TestController extends Controller
{
    public function test()
    {
      $user = Auth::user();
      $article = new Article(['name' => 'test']);

      //save record
      $user->articles()->save($article);
}

}

But I also need to keep the category of the article in the table with articles. I receive the article category in the controller:

$category = Category::find(2);

But how do I save these two entities ($user and $category) inside $article. I need to have two cells in the articles table - user_id and category_id. Tell me please.

  • 写回答

2条回答 默认 最新

  • douqi0090 2018-05-31 20:00
    关注

    Set the ids manually:

    $article->user_id = Auth::id();
    $article->category_id = $category->id;
    $article->save();
    
    评论

报告相同问题?

悬赏问题

  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看