Reputation: 445
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
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