laravel和mongo怎么搭配使用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了laravel和mongo怎么搭配使用相关的知识,希望对你有一定的参考价值。
参考技术A jenssegers/mongodb 用这个组件包引入后使用方法和laravel带的eloquent 基本一样
在 Laravel Eloquent 中通过 ID 保存一对多
【中文标题】在 Laravel Eloquent 中通过 ID 保存一对多【英文标题】:Saving one-to-many by IDs in Laravel Eloquent 【发布时间】:2021-12-31 11:02:34 【问题描述】:我似乎忽略了基本的 Laravel Eloquent 功能。
使用以下(Mongo,使用Jenssegers package DB 结构和类:
Owner (id,car_ids)
Car (id)
Class Owner extends Model
public function cars(): HasMany
return $this->hasMany(Car::class);
Class Car extends Model
public function owner(): BelongsTo
return $this->belongsTo(Owner::class);
一个车主可以拥有多辆汽车,一辆汽车属于一个车主。
现在,我得到一个现有汽车 ID 列表作为输入,并希望将它们附加到现有车主。
我必须先循环并通过 id 找到汽车型号,然后使用 saveMany
吗?没有直接存储id的选项吗?
【问题讨论】:
【参考方案1】:您应该在刀片上放置一个select
标签,如下所示:
<select name="cars[]" id="cars" multiple>
<option value="1">Volvo</option>
<option value="2">Saab</option>
<option value="3">Opel</option>
<option value="4">Audi</option>
</select>
然后,提交表单后,您可以获取汽车的 id 并使用saveMany
,如下所示:
$owner = Owner::find(1);
$ids = $request->input('cars');
$owner->cars()->saveMany($ids);
【讨论】:
以上是关于laravel和mongo怎么搭配使用的主要内容,如果未能解决你的问题,请参考以下文章
Larave使用composer安装无反应,提示“Changed current directory to C:/Users/Administrator/AppData/Roaming/Compose
Larave使用composer安装无反应,提示“Changed current directory to C:/Users/Administrator/AppData/Roaming/Compose