iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 15
0
Modern Web

PHP框架-Symfony4 + api platform 系列 第 15

Day#15 老闆~貢丸湯不要貢丸,蚵仔煎不要蚵仔! - Filter

上一篇說到貢丸湯阿..蚵仔煎阿....都餓了 , 不是啦~明明就是要說Filter !!

Filter(過濾器) 也可以當成搜尋條件,它只會使用在集合的GET上,這樣聽起來很有道理吧!?
因為我們要在茫茫資料中,過濾掉我們不要的,然後得到我們想要的結果~,
如果只是單一一筆資料,何必過濾呢?
阿我就只有那一筆,它不會再把我濾掉了,沒有這麼...智商堪憂


常用的搜尋有三種

  1. 關鍵字搜尋 partial : 只要有包含我搜尋條件的值都會顯示在結果上

  2. 絕對搜尋 exact : 我搜尋條件的值一定要和資料一模一樣才會顯示在結果上

Exact 和 Partial 都是屬於SearchFilter

  1. 區間搜尋 range : 區間搜尋又分成五種

    • Gt (greater than) : 顯示比搜尋條件的值大的結果
    • Gte (greater than or equal) : 顯示比搜尋條件大或是和搜尋條件一樣大的結果
    • Lt (less than) : 顯示比搜尋條件小的結果
    • Lte (less than or equal) : 顯示比搜尋條件小或是和搜尋條件一樣小的結果
    • between : 介於兩個搜尋條件的值之間

用註解式寫法加上Filter,記得要import ApiPlatform\Core\Annotation\ApiFilter

Orm Filter底下有很多常用的Filter Class ,像是Order Filter , Exists Filter...之類的

像我們這次用的就是Search Filter 跟Range Filter

記得,如果有用到Filter,就要import 那個Filter的Class ~

ApiPlatform\Core\Bridge\Doctrine\Orm\Filter\SearchFilter;
ApiPlatform\Core\Bridge\Doctrine\Orm\Filter\RangeFilter;

這篇介紹ORM 比較常用到的Filter ,
下一篇會來講客製化Filter ,使用方式就跟用ORM的Filter一樣,然後一樣要import Class ,
因為這次沒有提到Doctrine或是資料庫部分,
所以Filter的結果可能要各位看官們透過現有的資料去查看了~


上一篇
Day#14 資料型態轉來轉去是在轉什麼啦(/‵Д′)/~ ╧╧!!!? Serializer
下一篇
Day#16 自己要的東西自己生!! 客製化Filter
系列文
PHP框架-Symfony4 + api platform 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言