Oct202019
laravel ide-helper安装
首先需要在phpStorm中安装laravel plugin:
接下来
引入此包,该命令会自动修改 composer.json 文件
composer require barryvdh/laravel-ide-helper
下载完成后加入 config/app.php 中的 providers 数组中
Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,
仅在开发系统中安装提示包
composer require --dev barryvdh/laravel-ide-helper
在 app/Providers/AppServiceProvid...阅读全文
抢沙发
Oct152019
laravel 自定义请求验证类
laravel的验证可以直接在控制器里面这样验证:
$validatedData = $this->validate([
'title' => 'required|unique:posts|max:255',
'body' => 'required',
]);
if ($validatedData ->fails()) {
//未通过处理
}
或
Validator::make($request->all(), [
'title' => 'required|unique:posts|max:255',
'body' => 'required',
])->validate()...阅读全文
Sep262019
Laravel cast array json数据存数据库时unicode 编码问题和update更新不触发数据转换
Model示例:
class UserModel extends Model
{
protected $table = 'tb_user';
protected $casts = [
'alias' => 'array'
];
}
直接存alias 字段,数据库会显示unicode码
["\u80c3\u75db\u554a"]
问题解决:
方式一:自定义属性:
class UserModel extends Model
{
public function setAliasAttribute($option)
{
$this->attributes...阅读全文
Aug272019
laravel5.6ORM 关联模型,一对一和一对多
Laravel5.6 关联模型的操作,主要是一对一,一对多,多对多等操作.下面示例主要解析前面两个操作用法比较常用.(操作和用法TP5类似)
将关联查询使用语法hasOne、hasMany、belongsTo进行一个举例说明?
hasOne:有一个,加上主谓语应该是, A 有一个 B
hasMany:有很多, A 有很多 B
belongsTo:属于, A 属于 B
demo示例:
假设Users模型和News模型存在关联关系.两表sql和假设数据如下:
users.sql...阅读全文
Aug182019
Aug142019
Laravel 中的 Event 和事件的概念
概述
事件是一种常见的观察者模式的应用。简单的来说,就是当… 干…。这个当… 和干… 在 Laravel 事件中分别对应:
当 (event)… 干 (listener)…
放置 event 和 listener 文件的位置分别是:
app/Events
app/Listeners
对于产品经理来说,事件主要用来规范你的业务逻辑,使支线逻辑与主线逻辑独立分拆。对于程序员来说,事件可以让 Controller 变得非常...阅读全文
Jul312019
Laravel记录日志功能总结(指定日志存储文件,分级别存储日志文件)
在laravel框架中记录日志的时候,一般都会使用 Log::info() 方法,该方法会将日志全部记录在 storage/logs/laravel.log 文件里,这样的问题是当日志文件比较多的时候查找起来比较麻烦。这里记录一下将日志单独记录在自定义的文件里面去的方法。
laravel文档里没有写,于是我去翻Laravel的源码,结果还真给我找到了。只需在你的代码中加入
Log::useDailyFiles(storage_path('logs/zabbix/e...阅读全文
Jul072019
Laravel 注册监听器,实时打印SQL语句
使用 laravel 框架开发的时候,有时候需要测试一段代码生产的 SQL 语句,这里分享一种通过注册监听器的方法查看实时的SQL语句。
第一步:创建监听器
php artisan make:listener QueryListener --event=illuminate.query
生成新文件 app/Listeners/QueryListener.php,删除该文件自动填充的所有代码,以下面的代码替换:
<?php
namespace App\Listeners;
use Illuminate\Database\E...阅读全文
Jul072019
Laravel 打印SQL语句
Laravel 打印SQL语句
\DB::connection()->enableQueryLog(); //开启执行日志,加在需要打印的SQL语句之前
$list = self::where(['investorid'=>$id])->whereBetween('inserttime',[$start,$end])->where('deposit','>',0)->orderBy('id','asc')->Paginate(20);
print_r(\DB::getQueryLog()); //获取查询语句、参数和执行时间
若报DB找不到,则在顶部添加如下引用...阅读全文
Jul032019
laravel导出excel代码示例
/**
* 导出订单商品列表数据
* @param array $data_list
* @return bool
* @throws ActionException
*/
private static function exportOrderProductListToExcel(array &$data_list) {
if (!$data_list) {
throw new ActionException('没有数据不需要导出', 101);
}
$result = \Excel::create(date('订单商品数据列表Y-m-d H:i:s导出'), function ($excel)...阅读全文