检查db中是否已存在值

时间:2014-05-08 08:36:53

标签: laravel

我有一个插入表单和一个显示所有汽车名称的下拉框,当选择一个时,它会将id保存在“car_id”列中,这是唯一的。我想要的是检查这个id是否已经存在,如果是,则显示验证消息: 创建控制器

public function create() {  
   $cars = DB::table('cars')->orderBy('Description', 'asc')->distinct()->lists('Description', 'id');
   return View::make('pages.insur_docs_create', array(
      'cars' => $cars
   ));
}

insur_docs_blade.php

<div class="form-group">
{{ Form::label('car', 'Car', array('class'=>'control-label col-lg-4')) }}
   <div class="col-lg-8">
      {{ Form::select('car', $cars, Input::old('class'), array(
         'data-validation' => 'required', 
         'data-validation-error-msg' => 'You did not enter a valid car',
         'class' => 'form-control')) 
      }}
   </div>
</div>

2 个答案:

答案 0 :(得分:0)

您可以使用Laravel的Validator类。这些是它如何运作的一些嗤之以鼻。此方法使用您的数据模型。我没有写出所有内容,而是添加了一些链接,为您提供完成验证的所有信息。

$data = Input::all();

$rules = array(
    'car_id' => 'unique'
);

$validator = Validator::make($data, $rules);

if ($validator->passes()) {
    return 'Data was saved.';
}

答案 1 :(得分:0)

您可以使用Laravel的“存在”方法,如下所示:

if (User::where('email', $email)->exists()) {
   // that email already exists in the users table
}