php - Laravel - Store data in HasMany relationship from a multi-select form -
a user can select multiple options:
<!-- select multiple --> <div class="form-group"> <label class="col-md-4 control-label" for="bedrooms">bedrooms</label> <div class="col-md-4"> <select id="bedrooms" name="bedrooms[]" class="form-control" multiple="multiple"> <option value="1" selected="selected">studio</option> <option value="2">1</option> <option value="3">2</option> <option value="4">3</option> <option value="5">4</option> <option value="6">5</option> <option value="7">6+</option> </select> </div> </div>
i want store these variables in table - bedrooms
, on separate rows can include them in queries. each sleeping room associated criteria_id
:
i have tried utilize such queries $criteria->bedrooms()->savemany(input::get('property_type'));
shown in laravel's documentation, no success - error:
argument 1 passed illuminate\database\eloquent\relations\hasoneormany::save() must instance of illuminate\database\eloquent\model, string given
and $criteria->bedrooms()->attach(input::get('property_type'));
returns error: call undefined method illuminate\database\query\builder::attach()
relation:
criteria
-
public function bedrooms() { homecoming $this->hasmany('bedroom'); }
many help.
savemany
work in scenario, need convert input array set of new models first. assuming know criteria id, seek this:
foreach (input::get('bedrooms') $bedroom) { $selected[] = new bedroom(['bedroom' => $bedroom]); } $criteria = criteria::find($criteria_id)->bedrooms()->savemany($selected);
php laravel laravel-4 eloquent one-to-many
No comments:
Post a Comment