简体   繁体   English

Laravel多对多数据透视表具有多个选择

[英]Laravel Many To Many pivot table with multiple select

Hey everyone I have a question. 大家好,我有一个问题。 Let's say I have a blog and I want to create a new article and assign it to multiple tags using multiple select inside the form. 假设我有一个博客,我想创建一个新文章,并使用表单内的多次选择将其分配给多个标签。 Models and DB tables are already set up. 模型和数据库表已经建立。

So something like this: 所以像这样:

<select multiple name="tags">
<option value="{{ some tag_id }}">some tag</option>
<option value="{{ other tag_id }}">other tag</option>
</select>

But then how do I handle it in controller I know that I can do something like this: 但是然后我该如何在控制器中处理它,我知道我可以做这样的事情:

$article = new Article;
$article -> tags() -> attach(tag_id)

But how can I apply this with the multiple select? 但是,如何将其与多项选择一起应用呢?

<select multiple name="tags[]">

</select>

By adding [ ] to your element name, it will return an array. 通过在元素名称上添加[],它将返回一个数组。 Then you just need to loop through it with a foreach and attach each tag. 然后,您只需要使用foreach遍历它并附加每个标签。

Something like this: 像这样:

$article = new Article;

foreach (request('tags') as $tag) {
    $article -> tags() -> attach($tag)
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM