maranovot
maranovot

Reputation: 445

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?

Upvotes: 1

Views: 1129

Answers (1)

Ruben
Ruben

Reputation: 525

<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.

Something like this:

$article = new Article;

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

Upvotes: 1

Related Questions