【发布时间】:2018-06-20 19:36:37
【问题描述】:
在我的 Laravel 项目中,我正在努力处理 Eloquent 关系。
我的数据库中有一个“user”表和一个“user_lines”表。 'user_lines' 表有一个 'user_id' 字段,对应于 'users' 中的 'id' 字段,采用经典的主从关系。
User 模型与 UserLine 模型具有 hasMany 关系。 UserLine 模型与 User 模型具有 belongsTo 关系。
在我的应用程序中,我有一个包含多个用户行的用户表单。在表单提交期间,可以添加、更改或删除这些用户行。到目前为止,我发现自己在迭代提交的用户行并手动创建、更新和删除用户行。我觉得我错过了 Eloquent 提供的附加/分离/同步方法,但我似乎无法让它们工作。
$user->lines()->attach or $user->lines()->sync
给我一个例外,告诉我这些是 Illuminate\Database\Query\Builder 上未定义的方法。
$user->lines()->createMany($lines)
有效,但这只是创建新行,它不会更新现有行并删除已删除的行。
【问题讨论】:
标签: php mysql laravel eloquent laravel-eloquent