【发布时间】:2014-12-30 14:36:33
【问题描述】:
一个用户可以选择多个选项:
<!-- 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>
我想将这些变量存储在一个表中 - bedrooms,在单独的行中,以便我可以将它们包含在查询中。每个卧室都会关联criteria_id:
我尝试使用 Laravel 文档中显示的 $criteria->bedrooms()->saveMany(Input::get('property_type')); 之类的查询,但没有成功 - 错误:
Argument 1 passed to Illuminate\Database\Eloquent\Relations\HasOneOrMany::save()
must be an instance of Illuminate\Database\Eloquent\Model, string given
和$criteria->bedrooms()->attach(Input::get('property_type'));,但这会返回错误:Call to undefined method Illuminate\Database\Query\Builder::attach()
关系:
Criteria -
public function bedrooms()
{
return $this->hasMany('Bedroom');
}
非常感谢您的帮助。
【问题讨论】:
-
如果有错误,会产生什么错误?
-
传递给 Illuminate\Database\Eloquent\Relations\HasOneOrMany::save() 的参数 1 必须是 Illuminate\Database\Eloquent\Model 的实例,给定字符串
-
为什么是
$criteria->properties()?不应该是$criteria->bedrooms()吗? -
@lukasgeiter,对不起,我从错误的行复制了它。我想对我的属性表做同样的事情。
标签: php laravel laravel-4 eloquent one-to-many