【发布时间】:2017-09-23 15:27:58
【问题描述】:
我正在尝试存储一个新模型,其中包含许多相关的新模型。
我有我的服务模型
class Service extends Model{
public function serviceoperations() {
return $this->hasMany("App\Models\ServiceOperation");
}
}
和我的ServiceOperation模型
class ServiceOperation extends Model{
public function service() {
return $this->belongsTo("App\Models\Service");
}
}
在我的 store 函数中,我正在使用 transaction 创建一个具有许多服务操作模型的新服务模型:
use App\Models\Service;
use App\Models\ServiceOperation;
use Illuminate\Support\Facades\DB;
public function store(Request $request) {
$service = new Service();
$ops = [];
foreach ($operations as $operation) {
$op = new ServiceOperation();
$ops[] = $op;
}
DB::transaction(function()use($service, $ops) {
$service->save();
$service->serviceoperations()->saveMany($ops);
});
}
我的问题是:是否有另一种方法可以将我的新相关 serviceoperation 模型添加到我的新 service 模型中,并将它们保存在单个命令中的数据库?
【问题讨论】:
标签: php laravel laravel-5 eloquent laravel-eloquent