Category Archives: WebDesign

[Laravel]Eloquent ORM Global Scopes(Soft Deleting)

Laravel Eloquent ORM中有 Soft Deleted 機制,刪除時並不會直接刪除 DB 中的 record,而是在 deleted_at 紀錄 timestamp。

但是在使用 Model 時,都要多寫一個 query 來判斷 deleted_at 是否存在來判斷該 record 是否被刪除。就算在 Model 中寫 Query Scopes 也必須做這個判斷,這時候就可以透過 Eloquent 中的 Global Scopes 預設讓 Model 不會存取到已被標記刪除的 record 。

使用方法其實很簡單,只要use 一個 Eloquent 內建的 Trait 即可。

這邊說明一下原理: SoftDeletingTrait 是在 Illuminate\Database\Eloquent 中,在使用 Model 時會呼叫 bootSoftDeletingTrait(),這個方法會加入一個叫 SoftDeletingScope 的 Group Scope

SoftDeletingScope

Continue Reading

[Javascript]is.js

is.js 是一個拿來 check 用的 library,它可以檢查很多物件、型態、格式的正確性。

可以透過 npm 或 bower 安裝

範例(詳細範例可參考官網文件)

Continue Reading

[CSS]normalize.css

一般狀況下,開發網頁時為了避免一些瀏覽器元素樣式的差異,通常都會使用一切 reset.css 這種概念的東西去處理,不過很多時候這件事都只是自己在維護。

現在已經有不錯使用的套件了,normalize.css 就是在處理這樣的問題,也可以透過多種方式安裝。

bower 範例

Continue Reading

[HTML]網頁列印換頁

在開發網站時,常會使用到列印功能,這時候如果要控制列印換頁就必須要用點小技巧

可以透過 page-break-after 來達成換頁的效果

Continue Reading

[ZF]Zend_Db_Table

Zend Framework 中的 Zend_Db 可以針對資料庫操作,而 Zend_DB_Table 底下繼承了許多像 Zend_Db_Select 之類的物件提供一些函式幫你組合 SQL query 和存取 DB

範例 1.產生 DB Adapter

2.組合 Query String

3.執行 Query String

Continue Reading

[Laravel]Query Builder

Laravel 中的 Query Builder 是一個可以幫你組合 SQL Query 並連結資料庫的物件,底層是使用 PDO 連結資料庫。 如果沒有使用 Eloquent ORM 的話,Query Builder 也是個不錯的選擇

1.Select

2.Join

3.Advanced Wheres

4.Aggregates

5.Insert

6.Update

7.Show Query String

8.Limit

Continue Reading