【问题标题】:Store data in One to Many relationships以一对多关系存储数据
【发布时间】:2018-08-12 05:29:38
【问题描述】:

我有一个保存的模型用户: 编号 |姓名 | location_id

和未保存的模型位置: id |城市|国家|纬度|液化天然气

模型用户

public function location()
{
    return $this->belongsTo('App\Models\Location');        

}

模型位置

 public function user()
    {
        return $this->hasMany('App\Models\User');
    }

如何在一次查询中将位置表中的位置数据和 location_id 保存给相关用户?

【问题讨论】:

  • 您不能在一个查询中执行此操作,它将始终执行两个数据库查询(因为您要查询两个表)。只有当您将新用户添加到某个位置时,它才能在一个查询中执行。
  • 那我该怎么办?汉克斯

标签: laravel


【解决方案1】:

第一: 您应该将 Location 模型中的 user 方法重命名为 users

第二:

假设您有一个已保存的位置并想为他保存一个用户,您可以这样做:

$location->users()->save($user);

【讨论】:

    猜你喜欢
    • 2023-03-16
    • 2014-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多