我正在使用Laravel并且我正在尝试将表单数据传递到数据库,但是我收到的错误是我尝试输入的字段可能不为空:
SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'assists' cannot be null
表单的设置方式,通常会有某些输入为空的时间,
<tr>
<input type="hidden" name="player_id" value="{{ $player->id }}">
<input type="hidden" name="game_id" value="{{ $game->id }}">
<td>{{ $player->fn }} {{ $player->ln }}</td>
<td><input type="number" name="goals" placeholder="goals"></td>
<td><input type="number" name="assists" placeholder="assists"></td>
<td><input type="number" name="tackles" placeholder="tackles"></td>
<td><input type="number" name="saves" placeholder="saves"></td>
<td><input type="number" name="yellows" placeholder="yellows"></td>
<td><input type="checkbox" name="red" placeholder="red"></td>
</tr>
并且它几乎是预期的行为。我认为最简单的解决方法是将数字输入类型默认设置为0,因此除非另有说明,否则将其传递给数据库。我怎么能做到这一点?
答案 0 :(得分:2)
正如mplungjan所建议的那样,最简单和最有效的方法是使用input
元素的默认属性之一value
<input type="number" name="goals" placeholder="goals" value="0">
答案 1 :(得分:0)
有许多不同的方法可以实现这一目标。
在模型中明确指定默认列值
class Game extends Model {
protected $attributes = [
'assists' => '0'
];
}