我有属于模型Product
一个Trend
:如何验证Laravel 4中是否存在数据库关系?
class Product extends Eloquent {
public function trend()
{
return $this->belongsTo('Trend');
}
}
,并作为我的验证规则的一部分,我想确认这种关系存在,如果不使用触发错误:
$validator = Validator::make(Input::all(), $rules, $messages);
if ($validator->fails())
{
... some redirection code here
被调用。我试图使用下面的验证exists,但它永远不会启动。
$rules = array(
'brand_name' => 'required|min:3',
'blurb' => 'required',
'link' => 'required',
'trend' => 'exists:trends'
);
我也曾尝试在exists
方法有一些变化,但没有人似乎火。我知道我正在测试的实例肯定是并不是有一个关系集。
我在这里做错了什么?
编辑: 我现在看到从输入这个,我验证输入而不是模型值。我将如何实际验证模型实例的属性?
我不认为这是可能的与Laravel的内置验证福nctionality。你的'存在:趋势'只是检查趋势本身的存在,而不是关系(它不知道任何关系)。 –
您可以使用趋势的id值填充表单中的隐藏字段吗?然后你可以用整数规则来验证它。 – duncmc
您是否定义了产品和趋势之间的关联? –