我是Laravel的新手,并使用laravel 5.2版。
我分别创建了一个控制器和一个名为ArticlesController和CreateArticleRequest的请求,并定义了一些验证规则。
CreateArticleRequest
<?php
namespace App\Http\Requests;
use App\Http\Requests\Request;
class CreateArticleRequest extends Request
{
public function authorize()
{
return true;
}
public function rules()
{
return [
'title' => 'required|min:3',
'body' => 'required|max:400',
'published_at' => 'required|date',
];
}
}
ArticlesController
<?php
namespace App\Http\Controllers;
use App\Article;
//use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Carbon\Carbon;
use App\Http\Requests\CreateArticleRequest;
class ArticlesController extends Controller
{
public function add(){
return view('articles.add');
}
public function create_article_row(CreateArticleRequest $request){
Article::create($request->all());
return redirect('articles/');
}
}
当我在名为add.blade.php的模板中使用$ errors变量时,它显示错误未定义变量:$ errors
我试图解决问题,但没有解决。请告诉我哪里错了。
add.blad.php
{{ var_dump($errors) }}
参考方案
这是5.2升级中的一个重大问题。发生的事情是负责使errors
变量可用于所有视图的中间件未被利用,因为该变量已从全局中间件移到了web
中间件组。
有两种方法可以解决此问题:
在您的kernel.php
文件(app / Http / Kernel.php)中,可以将middleware \Illuminate\View\Middleware\ShareErrorsFromSession::class
移回protected $middleware
属性。
用路由组包装所有web
路由,然后将Web中间件应用于它们:
Route::group(['middleware' => 'web'], function() {
// Place all your web routes here...(Cut all `Route` which are define in `Route file`, paste here)
});
从此帖子复制Laravel 5.2 $errors not appearing in Blade
检查对象是否已在集合中-Laravel - php当我循环一系列不同的结果时,我希望将对象添加到新集合中。查询:$osRed = Item::where('category', 'Hardware') ->where(function ($query) { $query->where('operating_system', '…
Laravel打印日志 - php我正在尝试在控制台上打印日志:我输入了:use Log; 然后在控制器中使用 Log::info('test log'); 但它不打印任何日志。 参考方案 我认为您需要在运行后检查storage/logs/laravel.logLog::info('test log'); 希望这对您有帮助
如何在部署中管理Laravel队列? - php我有一个用于Laravel的HA架构,具有多个Web和队列服务器以及零停机时间部署。它依赖Redis作为队列驱动程序。问题在于,在部署群集的滚动更新时,部署新版本的代码时,无法阻止新队列工作者处理来自旧代码版本的作业。Laravel中是否可以过滤来自与队列工作器不同的代码版本的作业? 参考方案 我看到2个解决方案,即使我从未尝试过,也不能保证它能正常工作,因…
Laravel 5发布资产 - php我正在使用Laravel 5,我想将twitter bootstrap CSS和JS发布到公共目录。我确实使用Composer来获取twitter / bootstrap软件包,并且该部分运行正常,因此我想要的文件现在位于vendor / twitter / bootstrap / dist中。但是我无法使它工作。我得到“什么都没发布”。每次尝试时都会发送消…
如何在laravel中“记住我”登录选项? - php所以我正在做的是当我注销表单(用户名和密码)时选中“记住我”复选框时,用户会记住用户数据,例如:所以这是我的代码,它不起作用:(// create our user data for the authentication $userdata = array( 'email' => Input::get('email…