Laravel/framework 5.5.22 发布

本文翻译整理自 Laravel 5.5.22 Released

Laravel v5.5.222017年11月28日 发布,添加了一些有用的方法,从存储中返回一个文件作为响应,以及添加了一些不错的数据库。

Jonathan Reinink 增加了对文件系统的支持:response()download() 方法。

在某些情况下,您可能希望从存储中返回控制器中的文件或强制下载:

class DocumentController extends Controller
{
    public function show(Document $document)
    {
        // Return the document as a response
        return Storage::response($document->path);

        // Use a custom filename
        return Storage::response($document->path, 'sweet.pdf');

        // Force the file to download
        return Storage::download($document->path);
    }
}

Paulo Freitas 增加了更好的临时表支持,它增加了对 SQL Server 的临时表支持,使 $table->temporary() 可用于任何数据库驱动程序,并且还为临时表创建添加了测试范围。

Paulo 还为支持它们的数据库(MySQL,PostgreSQL 和 SQL Server)在 DateTime列上添加了更好的精度支持。由于与数据库默认精度和 Laravel 的默认有一些不一致的地方, 在 SQL Server 中还不完全正常,但是这对 SQL Server 的 DateTime 列精度处理来说是一个已经存在的问题。

一个值得注意的去除是基本 where 方法中的 between 运算符。

使用 between 目前不工作,并产生错误的SQL:

\App\User::where('created_at', 'between', ['2017-01-01', '2017-01-30'])->get();

它会生成:

select * from users where created_at between 2017-01-01

现在,你应该使用 whereBetween(就像使用whereIn一样)。

v5.5.22(2017-11-27)

添加

  • 向文件系统添加了 response()download() 方法 #22089
  • 增加了完整的临时表支持 #22110
  • 增加了 Mode::newQueryForRestoration() 方法 #22119
  • 增加了对日期/时间列的精确支持 #22122
  • 添加了对 MySQL Galera 死锁的检测 #22214

变更

  • 更新 MailFake::queue() 方法签名 #22072
  • 使用 MEDIUMTEXT 而不是 TEXT 作为数据库缓存值 (仅限MySQL) #22091
  • 默认情况下,在输出电子邮件中包含计划作业的名称 #22098
  • 支持 SQL ServerDblib 版本配置 #22102
  • 使用 SoftDeletes 强制删除模型时,将 Model::$exists 设置为 false #22100
  • 使 HasAttributes::fromDateTime() 支持空字符串 #22108
  • throw_* 助手返回条件 #22149
  • 使 Collection::where() 独立于错误报告 #22172
  • json 翻译文件包含错误时显示更多有意义的消息(#22165cf29b88
  • 提高 Model::getTable() 性能 #22222
  • Sql server 数据库中运行 migrations 文件时可以使用 transaction(事务) 功能 #22187

修复

  • whereHas 中使用时,修复 HasManyThrough 与自定义键的关系( #220713788cbd
  • 修复了 DATETIME 列的 SQL Server 处理 #22052
  • session 不可用时,从 old() 返回默认值 #22082
  • 重构 Arr::flatten() 以防止性能问题 #22103
  • 确保MYSQL JSON键在更新JSON列时使用双引号 #22118
  • 修复了 AWS 存储前缀 (root) 的自定义 URL #22130
  • 如果 password 是唯一指定的字段,则阻止验证 #22167

删除

  • 从基本的 where 子句中删除 between 比较符 #22182
本作品采用《CC 协议》,转载必须注明作者和本文链接
本帖由 Summer 于 7年前 加精
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 11
Destiny

老乡?

7年前 评论

老乡,我只是换了个头像,你就不认识我了,我很伤心啊 :joy:

7年前 评论
godruoyi

是老乡

7年前 评论

@Patrick95 我在想要不要专门开个帖子来认老乡。。。 :sweat_smile:

7年前 评论
Destiny

@Seaony 我觉得可以。哈哈哈

7年前 评论
巴啦啦

@Destiny 歪下楼,我找了很久,没有找到semantic的资料,文档没有翻译完,或者说没有bs清晰,想问下你能够在哪找到合适的资料来弄semantic。

7年前 评论
Destiny

@仰望 我是看到官方文档,文档上面有很多例子,直接拉过来用就可以了。。。。。。直接上,先别管文档

7年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!