我將數據保存到一個表下列存儲方法存在的輸入值。Laravel:如何檢查表
public function store(Request $request)
{
foreach ($request->admin_id as $key=>$val){
$adminbillings = AdminBilling::create([
'month' => $request->month,
'rate' => $request->rate[$key],
'admin_id' => $val,
]);
}
return redirect('/');
}
現在,我想檢查在存儲它們之前是否有任何輸入值已存在於表中。如果表格中的一行已經包含全部3個相同的輸入,則它不應該做任何事情,否則存儲輸入。這將是類似於
if
$requested->month does not exist in month column ||
$requested->rate does not exist in rate column ||
$requested->admin_id does not exist in admin_id column
then
save
請幫助我。我正在使用Laravel 5.4。
謝謝
也許爲有問題的列創建唯一的關鍵字,並讓RDBMS處理該問題,在您的應用中只是捕獲異常。 https://stackoverflow.com/questions/635937/how-do-i-specify-unique-constraint-for-multiple-columns-in-mysql – Kyslik
我不確定,因爲我想存儲值,如果至少有一個輸入對其自己的列是唯一的。如果一個輸入是唯一的,另外兩個可以在它們自己的列中有許多值。 – Ahsan
使用NULL-able字段,那些被視爲非唯一的https://stackoverflow.com/questions/3712222/does-mysql-ignore-null-values-on-unique-constraints;我看到它可能不會爲你工作,對不起。 – Kyslik