laravel

微信支付时当前页面URL注意事项

微信支付规定,支付页面的URL必须斜杠/结尾,发起支付的时候页面地址是要像下面这样 正确 https://mokiee.com/pay/ 错误 https://mokiee.com/pay 在单页H5并且需要微信授权的情况下,在授权成功后...
zhimo 发布于 1年前 486

Laravel 渲染视图并获取渲染后的字符串

在 controller 或路由函数中: $view = view('mytpl'); $str = $view->render(); $str 就是渲染后的字符了。...
harry 发布于 1年前 946

Laravel 根据条件注册Service Provider

Laravel 中用第三方包或者自己开发的Laravel包,通常会需要注册对应的Service Provider。 一般来说提供包的文档中会说明将Service Provider的类加到 config/app.php 中的 provider...
harry 发布于 1年前 388 2

Laravel 单元测试中测试邮件发送

/** * @test */ public function new_user_mail() { Mail::fake(); $user = factory(User::class)->create(); ...
harry 发布于 1年前 214

Laravel在数据库迁移中判断一个表是否存在一个索引

Laravel5.4目前似乎没有提供一个很直接的方式来判断一个表是否存在某个索引,但是Laravel的数据库操作是基于 doctrine 的,所以可以通过 doctrine 的 api 来检查索引是否存在。 示例代码: Schema::ta...
harry 发布于 1年前 354

Laravel判断关联数据是否存在

一对一关联 // 不存在关联用户的model $model->user; // null count($model->user); // 0 // 存在关联数据 $model->user; // Eloquent Mo...
zhimo 发布于 1年前 338

Laravel Model获取关联表部分字段

class News extends Model { .... .... public function user() { return $this->belongs_to('User') ...
zhimo 发布于 1年前 291

Laravel判断记录是否存在

$user = User::where('email', '=', Input::get('email'))->first(); if ($user === null) { // 用户不存在 } if (User::where(...
zhimo 发布于 1年前 267

Laravel 5泛路由

访问一个动态页面,URI路径一般是 news/1 这样一种格式,但如果想给这个URI做个别名,对SEO友好的话,像这样 http://localhost/how-to-learn-laravel ,就碰到一个问题,因为内容是后台添加的,不可...
xtigerj 发布于 1年前 245

webpack生成编译后文件的哈希列表,配合Laravel实现静态资源版本号

虽然有Laravel Mix可以实现类似的功能,但是我个人并不喜欢这种把webpack配置细节都隐藏起来的方式。 首先写了一个简单的webpack插件,用来生成对应文件的hash版本号: var md5 = require('md5')...
harry 发布于 1年前 810

Laravel 执行原始SQL语句

当我们需要执行原始SQL语句时,可以使用 DB::unprepared 这个方法。 比如在 DatabaseSeeder 中需要插入大量预先从数据中导出的数据时,写PHP进行插入就不太现实,可以将数据导出成一个sql文件,然后: DB::u...
harry 发布于 1年前 336

Laravel 5 配置文件缓存

一般情况下网站上线之后都会开启缓存,包括缓存配置文件,命令如下 php artisan config:cache 在修改配置文件和.env文件后也要记得清空缓存(与开启缓存的命令一样) php artisan config:cache 如果...
xtigerj 发布于 1年前 273

Laravel 5快速解决升级到MySQL5.7.5后SQL报错

问题 在MySQL升级到5.7.5之后,有些之前运行的好好的sql语句突然报错了,类似下面的错误,这是因为MySQL 5.7.5默认是遵循SQL99,比之前SQL92更加严格,俗称严格模式 SQLSTATE[42000]: Syntax ...
xtigerj 发布于 1年前 288

Laravel 批量更新Model触发事件

下面这段代码是不会触发Model事件的,它只是执行了sql语句,并没有加载model对象然后更新,所以也就不会触发事件 Order::whereIn('id', $ids)->update(['status' => $order...
xtigerj 发布于 1年前 237

Laravel 更新Model但不更新updated_at字段

$user = User::find(1); $user->timestamps = false; $user->name = 'tiger'; $user->save();...
xtigerj 发布于 1年前 537

Laravel5 文件下载

一般公开的文件可以通过下面方式在blade生成下载地址,pdf文件则放在public/download/info.pdf <a href="{{ asset('download/info.pdf') }}">下载</a&g...
xtigerj 发布于 1年前 216

Laravel Model一次创建多条数据

$data = array( array('title'=>'News 1', 'content'=>'Hello'), array('title'=>'News 2', 'content'=>'Wo...
xtigerj 发布于 1年前 227

Laravel Model不存在则新建,已存在则更新

$user = User::firstOrNew(array('name' => Input::get('name'))); $user->name = Input::get('name'); $user->save();...
xtigerj 发布于 1年前 163

Laravel 中让分页链接带上URL中的所有参数

Laravel中的分页功能有一个问题,就是生成的分页链接中只有page这一个参数,如果当前页面中有其他参数, 比如 search?key=hello&page=2, 当点生成出来的分页后,key这个参数就会没有。 使用 Pagina...
harry 发布于 1年前 246

Laravel 项目在初始composer install后自动生成所需的.env文件和生成app秘钥

虽然通过 composer create-project laravel/laravel 这条命令创建一个新Laravel项目后,是会自动生成 .env 和 App秘钥的,但是当团队中其他成员通过git克隆了现有项目代码后通过 compos...
harry 发布于 1年前 305

Laravel 中日期显示的语言设置

Laravel 中涉及日期的操作一般都会用 Carbon 库,如果需要将格式化后的文字转换成所需的语言,可以用以下代码 Carbon::setLocale('zh'); 设置日期格式化语言为中文 echo Carbon::now()-&gt...
harry 发布于 1年前 262

Laravel 5 Model保存或访问字段前修改字段内容

在保存和读取Model的字段前,先对数据做处理,如下例子,为了解决php和mysql对浮点小数部分精度问题,所以price字段设置成int型,价格一般小数点精确到分,所以在保存的时候先把浮点数乘以100变成整数,然后读取的时候在除以100变...
xtigerj 发布于 1年前 236

Laravel 5 创建Model自定义方法 Dynamic Scopes

封装常用的方法到App\BaseModel类中,然后其它model继承这个类 <?php namespace App; use Illuminate\Database\Eloquent\Model; class BaseMode...
xtigerj 发布于 1年前 241

创建Laravel 5.4项目

运行下面这段命令,参数后面的project_name是项目目录名,最后的5.4是指定的版本号 composer create-project laravel/laravel project_name 5.4 装好之后.env文件和里面的ba...
xtigerj 发布于 1年前 207