iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 21
1
Software Development

網頁後端的30件小事系列 第 21

Laravel:Collection常用的一些方法整理

  • 分享至 

  • xImage
  •  

Collection的一些方法

  1. flatten, collapse:

    可以把像這樣亂亂的資料[1,2,3,[4,5],[]],變這樣乾淨一串[1,2,3,4,5]

    $c = collect([1,2,3,[4,5],[]]);
    

https://ithelp.ithome.com.tw/upload/images/20201006/20129556LweS1GtmSo.png

```sql
$c->flatten()
```

https://ithelp.ithome.com.tw/upload/images/20201006/201295561yM8NdSby1.png

  1. pluck:

    只取輸入欄位的內容,例如User::all()->pluck('name')
    https://ithelp.ithome.com.tw/upload/images/20201006/20129556B7DV7Ja9Bk.png

  2. where:

    很直覺,就是where什麼等於什麼,例如User::all()->where('name','Joy Grady')
    https://ithelp.ithome.com.tw/upload/images/20201006/20129556qJtCCV0XRy.png

  3. unique:

    也是很直白,把重複的內容濾掉。
    https://ithelp.ithome.com.tw/upload/images/20201006/20129556kr6JiLDFZL.png

  4. map:

    對裡面的每項做什麼處理可以用map。例如對$collection裡的每個值乘以3。

    $collection->map(function($item){
    	return $item*3
    });
    

https://ithelp.ithome.com.tw/upload/images/20201006/20129556u55ylN9Jrg.png

  1. filter:

    可以過濾資料,寫法跟map很像。例如想只取大於5的值。

    $collection->filter(function($item){
    	return $item>5
    });
    

https://ithelp.ithome.com.tw/upload/images/20201006/20129556z5RTX4tdU9.png

注意!之前對每項乘以3的動作並沒有影響到$collection本身,$collection裡的還是1~10!

Model的方法,非collection的

有些方法是屬於Model的,所以無法使用。像是all、first、find等。

更多方法請看

Collections


上一篇
SQL:Join & View
下一篇
Laravel:實作做短網址轉換器URL shortener
系列文
網頁後端的30件小事30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言