视图 (View)
传递数据到视图有多种方式
1.使用view 辅助方法1
return view('articles.index', compact('articles'));
1 | // 2. 使用传统的方法 |
服务注入
使用@inject指定从服务容器中取回服务,第一个参数将作为所取回服务存放的变量名,
而第二个参数是你想要在服务容器中取回的类或接口名称:1
2
3
4@inject('menus','App\Models\Category')
@foreach( $menus->getAllMenu() as $menu)
...
@endforeach
代码说明:从服务容器中取回Category分类模型,并命名为$menus,然后调用getAllMenu方法找到所有菜单。
路由
命名空间|子域名路由|路由前缀|权限验证1
2
3Route::group(['namespace' => 'Admin','domain' => '{account}.myapp.com','prefix' => 'admin' , 'middleware' => 'auth' ], function () {
// 在 "App\Http\Controllers\Admin" 命名空间下,子域名为{account}.myapp.com,路由前缀匹配 '/admin' 的控制器
});
HTTP请求
闪存输入数据到 Session 后重定向
你可能需要把输入数据闪存到 session 并重定向到前一个页面,这时只需要在重定向方法后加上 withInput 即可1
2
3
4
5return redirect('form')->withInput();
return redirect('form')->withInput(
$request->except('password')
);
数据库迁移
外键约束
外键约束cascade : 如果父表的记录被删除,那么子表的记录也相应的删除1
2
3
4
5Schema::create('user_addresses', function (Blueprint $table) {
$table->increments('id');
$table->unsignedInteger('user_id');
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
});