laravel 学习笔记
1526030130(1).jpg1 每个控制器都需要配置web.php中配置路由
2 配置好数据库后,在命令行中 php artisan migrate
数据表迁移
3 帮助命令是 php artisan help make:migration
, php artisan make:migration create_users_table --create=users
composer dump-autoload
可以更新autoload
4 建好表后执行 php artisan migrate
可以将表查到数据库里去
5 问题 初始化的表可能由于mysql版本过低导致出现问题,解决方案如下:
Laravel 默认使用 utf8mb4 字符集,支持在数据库中存储 emoji 表情。如果你现在运行的 MySQL 版本低于 5.7.7(或者低于 10.2.2 版本的 MariaDB),需要手动配置迁移命令生成的默认字符串长度,以便 MySQL 为它们创建索引。你可以通过在 AppServiceProvider 中调用 Schema::defaultStringLength 方法来完成配置:
use Illuminate\Support\Facades\Schema;
/**
* Bootstrap any application services.
*
* @return void
* @translator laravelacademy.org
*/
public function boot()
{
Schema::defaultStringLength(191);
}
作为可选方案,你可以为数据库启用 innodb_large_prefix 选项,至于如何合理启用这个选项,这取决于你的数据库文档说明。
6 php artisan tinker
注意:PHP 7 does not allow calling a function statically unless it is explicitly defined as static.
7 后期静态绑定
8 路由模型绑定 在控制器中用方法中如
index(Task $task){} //Task模型名 路由中需要指定`Route::get('/task/{task}','TaskController@show');` 相当于执行 Task::find($task) radar model
9 @section @yield 关系: @section在子页面中定义内容 @yield 在母页面中占位 @include引入其他的模版文件
10 构建api可以用到 资源路由控制器 ;保证安全,from表单需要加一个{{csrf_field()}} 隐藏域
11 php中在类外用use App\
表示从根目录开始,而在类方法里面用需要用new \App\
才能表示同样的意思
12 表单验证 http://laravelacademy.org/post/6768.html
13
自 PHP 5.5 起,关键词 class 也可用于类名的解析。使用 ClassName::class 你可以获取一个字符串,包含了类 ClassName 的完全限定名称。这对使用了 命名空间 的类尤其有用。
<?php
namespace NS {
class ClassName {
}
echo ClassName::class;
}
?>
以上例程会输出:
NS\ClassName
我们并没有告诉 Eloquent 我们的 Flight 模型使用哪张表。默认规则是模型类名的复数作为与其对应的表名,除非在模型类中明确指定了其它名称。所以,在本例中,Eloquent 认为 Flight 模型存储记录在 flights 表中。你也可以在模型中定义table 属性来指定自定义的表名
php make:controller TestController --plain
//生成没有任何预定义方法的控制器
在模版引擎中,使用{{$name}}
进行变量转义输出,不需要输出则直接使用 {!!$name!!}
即可
php artisan make:migration add_votes_to_users_table --table=users //在数据库弄好后,增加一个字段
创建时运行up
方法,回滚时运行'down'方法
Eloquent 中批量赋值 需要设置在对应的模型中设置fillable
属性
findOrfail //方法在查询失败的时候返回404响应
url生成可以使用辅助函数 url()
表单可以使用iluminate/html
包 安装完成后会需要去app.php的provider中配置
表单字段处理 setAttrite 和 queryscope http://www.mamicode.com/info-detail-1586899.html
模型中的各个属性,比如$fillable,$guards,$dates
表单验证的方法:1 :php artisan make:request ; 2: 使用validate
php artisan route:list 查看所有web的路由
Form-Model-Binding 表单自动填充 {{!!Form::model($artical,[class="sdfs"] !!)}}
评论已关闭