Laravel – 關於 Carbon 日期處理的二月問題

目前使用指定屬性或 set 方法的方式,在 Carbon v2.24 會出現指定 2 月但顯示 3 月的錯誤。

後來在較新的官方文件看到,還是建議使用預設的用法

Laravel – MySQL – 繞過資料庫外鍵的條件約束,強制刪除

MySQL 下指令 SET FOREIGN_KEY_CHECKS=0,可以將被關聯的來源強制刪除,有時候我們僅是要做測試的時候,會非常好用,不會被卡死。

在 Laravel 可以透過這樣的方式,來刪除紀錄或清空資料表

php – Laravel 支援跨網域的方式

通常我們在 php 檔案最前方加入

但在 Laravel 當然也可以直接寫在 web.php / api.php 最前方,但我通常會建立一份 middleware 結構處理。

php – laravel – 將已存在的資料庫匯出 migration 與 seed

匯出 Migration

首先安裝這個套件,先匯出 DB Schema 到 migration

Laravel 5.5 以後的版本,下載好後就不需安裝任何的 Providers。使用方法如:

不過資料表欄位的型態,若是 Enum 的時候,目前版本 v2.0.2 會出錯,請修改 src/Xethron/MigrationsGenerator/Generators/FieldGenerator.php

主要是 MySQL 8 返回的欄位名稱是大寫, MariaDB 返回的是小寫,需要稍作修改就可以了。我提出了合併請求,不過我看目前開發者合併停滯在 2017 年,因為這個功能僅單次使用,我也就不再 fork 了,手改一下就好。

匯出 Seed

接著產出 seed,就下載這個套件

一樣 Laravel 5.4 以後不需要做任何安裝設定。比較麻煩的是要個別指定匯出的資料表名稱,使用方法如

php – Workerman – 使用 Websocket 廣播給所有客戶端

預設只推送給 connect 單一 client 端,那如果要推送給所有人呢?可以藉由搭配訂閱的功能。

除了透過 composer 安裝 workerman 之外,還需要安裝 Channel分佈式通訊組件: workerman/channel

接著貼上 start.php

接著啟動服務,我們透過 php 運行

建立 Client 端部分

參考官方