當保存我的表單時,它會正確保存所有內容,但如果表單中的值爲空白,則即使該列設置爲允許空值,它也將無法保存。保存模型時,MySQL/Laravel處理空值
因此,讓它工作的唯一方法似乎是檢查值是否存在,否則手動將其設置爲空(見下文)。
$model = \Blah\Model::where(blahblah)->first;
$model->value = $value ? $value : null;
$model->save();
我不得不這樣做雖然也只是因爲如果值爲0(零),將它設置爲null,因爲PHP的方式解釋條件語句的問題。
我不想爲每個模型中的每個值都做這件事。那麼是否有辦法使它正確處理空值,以便如果該字段爲空,則會將空值保存到該列的模型中,而不是給我一個錯誤?
所以基本上有一種方法來正確處理SQL/Eloquent中的空值,將保持0值,如果它是空白,正確保存空值?
編輯:生成的查詢
General error: 1366 Incorrect integer value: '' for column 'Strength' at row 1 (SQL: update `playerstats` set `Strength` = where `id` = 1)
@ccloyed提laravel版本好嗎? –
如果保存失敗,日誌文件中的錯誤消息是什麼?並請展示您的模型! – Webdesigner
請提供生成的SQL。 –