0
這就是我所擁有的,即使我有一個規則來檢查數據庫中「約會」表的唯一性,它只是多次存儲值。 任何人都可以建議我如何可以在我的表中存儲唯一的日期。提前致謝。在Laravel中針對數據庫的日期輸入驗證
public function store()
{
date_default_timezone_set('Australia/Melbourne');
$date = date('Y/m/d', time());
$todDate = new DateTime($date);
$dateFormated = $todDate->format('Y-m-d');
$input = Input::all();
$rules = array(
'appoint_day' => 'required|unique:appointments'
);
$validator = Validator::make($input, $rules);
if($validator->passes())
{
$schedule = new Appointment;
$appoint_day = Input::get('appoint_date');
if(strtotime($appoint_day) - strtotime($dateFormated) >= 0)
{
$schedule->user_id = Auth::user()->id;
$schedule->appoint_day = $appoint_day;
$schedule->save();
}
}
else
{
echo 'failed';
}
return View::make('admin.professions.appointments');
}
哇!很奇怪! appoint_day是表中的列名,其中是__name_date是輸入字段名稱。是的,你的解決方案有效,但我不明白其背後的原因。非常感謝!!。 – score 2014-10-30 03:50:51
這是因爲驗證程序期望*字段*的名稱來檢查(它在'Input'數組中),但是您沒有'appoint_day'字段...所以它不驗證任何內容。此外,除非您另行指定,否則「唯一」規則將使用輸入字段名稱作爲列名稱檢查數據庫。因此,如果您將字段名稱保留爲'appoint_date',則可以選擇''appoint_date'=>'required | unique:appointmentments,appoint_day''。 – damiani 2014-10-30 11:02:00
快速幫助請與上述問題相關: 如何驗證唯一用戶的唯一「appoint_date」? 意思是,與01/01/2010相同的日期對於用戶1和用戶2是唯一的! 以下情況如何: $ rules = array( 'appoint_day'=>'required | unique:appointmentments,user_id' ); – score 2014-10-31 01:36:43