Service
public function scopeActive($q)
{
return $q->where('重复使用的过滤条件');
}
public function getActive()
{
return $this->active()->get();
}
public function getArticles()
{
return $this->whereHas('user', function ($q) {
$q->active();
})->get();
}
// Model
protected $dates = ['ordered_at', 'created_at', 'updated_at'];
public function getSomeDateAttribute($date)
{
return $date->format('m-d');
}
// View
相对于其他方法来说,最大的特点就是简洁
如: Route、DB
./bootstrap/app.php
$app->singleton(
Illuminate\Contracts\Http\Kernel::class,
App\Http\Kernel::class
);
$app->singleton(
Illuminate\Contracts\Console\Kernel::class,
App\Console\Kernel::class
);
$app->singleton(
Illuminate\Contracts\Debug\ExceptionHandler::class,
App\Exceptions\Handler::class
);
app/Providers/EventServiceProvider.php
一个Event可以对应多个监听者一个监听者只能对应一个Event
protected $listen = [
// 商品编辑日志
'App\Events\ProductEditEvent'=> [
'App\Listeners\ProductEditLogListener',
],
'App\Events\ProductDetailEditEvent'=> [
'App\Listeners\ProductVariationEditLogListener',
],
'App\Events\ProductImageEditEvent'=> [
'App\Listeners\ProductVariationEditLogListener',
],
'App\Events\ProductTagEditEvent'=> [
'App\Listeners\ProductVariationEditLogListener',
],
'App\Events\ProductVariationEditEvent'=> [
'App\Listeners\ProductVariationEditLogListener',
],
];
get() 、 pluck() 的结果集,在->toArray() 之前应先判空
路由中间件过滤权限
batchUpdate方法批量更新数据时,如果被更新的字段有json类型的数据,中文json后的数据会被去掉’' 变成乱码