分类 PHP 下的文章

原文:https://segmentfault.com/q/1010000004163673

问:

看别人的代码里好像很多用$router->的,看手册里好像都是Route::,这俩方式有什么区别吗?

答:
Route::get这种写法在Laravel里叫做Facades,本义是为了写起来方便而造出来的。

它等价于$app->make('router')->get;

也是从服务容器里取出来的,提供路由服务的是 App\Providers\RouteServiceProvider

如果你通过依赖注入里拿到$router那么,它也等价于$app->make('router'),也等价于Route::这个Facades

你可以参考一下Facades的文档理解一下:
https://laravel.com/docs/5.7/facades

$model->save()的时候,如果不符合rules,会导致保存失败,但不抛出异常,所以这个时候,就需要看一下是不是rules设置的问题,所以可以这样做:

$model->save(false)

这样做,就是绕过了rules里对数据的validation,首先保证了,你对数据库的CRUD是成功的,代码是OK的,然后再看,是否是数据的问题。

Laravel的部署,还是尽量用docker吧,奈何哥不会啊。
所以目前就是一点点折腾了,有一些细节需要注意:

1、配置.env文件:

php artisan key:generate //这是生成Laravel的APP_KEY
php artisan jwt:secret // 在.env文件里添加一行JWT_SECRET=foobar

- 阅读剩余部分 -

首先,根据文档:

So, to get started, you should define which model attributes you want to make mass assignable. You may do this using the $fillable property on the model.

// model里定义哪些字段可以assignable
protected $fillable = ['name'];
// 使用以下2种方法,必须在`fillable`方法里定义哪些字段可以``
$flight = App\Flight::create(['name' => 'Flight 10']);
$flight = new App\Flight(['name' => 'Flight 10']);

但是呢,如果你不用fillable

- 阅读剩余部分 -