【发布时间】:2019-04-29 22:49:43
【问题描述】:
您好,我想在我的数据库中插入一个空值,但我不知道该怎么做,这是一个错误
如何插入一个空值来输入文本并将其设置为空到数据库,因为我这样做我有一个错误,因为数据库的行没有值。我怎样才能做到这一点而不会出错。
这是我的错误
如您所见,我有一个 foreach 循环,因此插入 1 个输入文本值不会在数据库中返回任何内容。
SQLSTATE[23000]:违反完整性约束:1048 列“标题” 不能为空(SQL:插入
awards(title,description,awards_image,updated_at,created_at) 值 (, , a:0:{}, 2018-11-28 10:29:35, 2018-11-28 10:29:35))
我的控制器
public function store(Request $request)
{
$this->validate($request, [
'title' => 'nullable',
'description' => 'nullable',
'awards_image.*' => 'image|nullable|max:1999'
]);
$awards = [];
if ($request->has('awards_image'))
{
//Handle File Upload
foreach ($request->file('awards_image') as $key => $file)
{
// Get FileName
$filenameWithExt = $file->getClientOriginalName();
//Get just filename
$filename = pathinfo( $filenameWithExt, PATHINFO_FILENAME);
//Get just extension
$extension = $file->getClientOriginalExtension();
//Filename to Store
$fileNameToStore = $filename.'_'.time().'.'.$extension;
//Upload Image
$path = $file->storeAs('public/awards_images',$fileNameToStore);
array_push($awards, $fileNameToStore);
}
$fileNameToStore = serialize($awards);
}
else
{
$fileNameToStore='noimage.jpg';
}
foreach ($awards as $key => $values) {
$awardsContent = new Award;
$awardsContent->title = $request->title[$key];
$awardsContent->description = $request->description[$key];
$awardsContent->awards_image = $values;
$awardsContent->save();
}
}
【问题讨论】:
-
使您的数据库表可以为空,正如我在上一个问题中解释的那样。
-
如果属性没有值把空字符串像
' '它允许为空。 -
@Gabrielle 我该怎么做?请帮助我使用该语法 thns
-
@SagarGautam 如果没有
php artisan migrate:refresh,我能做到吗?
标签: php mysql arrays laravel loops