我想使用Laravel将记录添加到我的数据库中,但在提交表单后,我得到一个空白屏幕,没有日志。这是我的代码:
public function store(Request $request)
{
foreach(Auth::user()->test as $data) {
if($request->name == $data->name) {
return back()->with('wrong', trans('settings.isset.name'));
}
else {
$this->validate($request, [
'name' => 'required',
]);
$name = Name::store($request);
return back()->with('message', trans('settings.add.name'));
}
}
}
当然,还有正常的工作形式。在我没有foreach
之前,它正在发挥作用,但事实并非如此。
答案 0 :(得分:2)
我认为当Auth::user()->test
为空时可能会导致这种情况。
因此,foreach
循环内的代码不会被执行,也不会返回任何内容。
您可以尝试将return
语句放到函数末尾。
答案 1 :(得分:0)
我希望这能完成这项工作
public function store(Request $request)
{
$error = false;
$errors = [];
foreach(Auth::user()->test as $data) {
if($request->name == $data->name) {
$error = true;
$errors['wrong'] = trans('settings.isset.name');
break;
}
else {
$this->validate($request, [
'name' => 'required',
]);
$name = Name::store($request);
}
}
if($error)
return back()->with($errors);
return back()->with('message', trans('settings.add.name'));
}
答案 2 :(得分:0)
在.htaccess下使用它
Options +ExecCGI
addhandler x-httpd-php5-cgi .php
Options -MultiViews
DirectoryIndex index.php
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
RewriteBase /
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
#RewriteRule ^ index.php [L]
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>