日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Laravel中一些要记住 的写法

發布時間:2025/3/21 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Laravel中一些要记住 的写法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Laravel中一些要記住 的寫法

模型篇:

1.根據數據庫部分URL返回完整的URL

public function getImageUrlAttribute(){// 如果 image 字段本身就已經是完整的 url 就直接返回if (Str::startsWith($this->attributes['image'], ['http://', 'https://'])) {return $this->attributes['image'];}return \Storage::disk('public')->url($this->attributes['image']);}
//模板中Laravel 的模型訪問器會自動把下劃線改為駝峰,所以?image_url?對應的就是?getImageUrlAttribute
<div class="img"><img src="{{ $product->image_url }}" alt=""></div>

?控制器:

1.條件查詢與搜索

public function index(Request $request){// 創建一個查詢構造器$builder = Product::query()->where('on_sale', true);// 判斷是否有提交 search 參數,如果有就賦值給 $search 變量// search 參數用來模糊搜索商品if ($search = $request->input('search', '')) {$like = '%'.$search.'%';// 模糊搜索商品標題、商品詳情、SKU 標題、SKU描述$builder->where(function ($query) use ($like) {$query->where('title', 'like', $like)->orWhere('description', 'like', $like)->orWhereHas('skus', function ($query) use ($like) {$query->where('title', 'like', $like)->orWhere('description', 'like', $like);});});}// 是否有提交 order 參數,如果有就賦值給 $order 變量// order 參數用來控制商品的排序規則if ($order = $request->input('order', '')) {// 是否是以 _asc 或者 _desc 結尾if (preg_match('/^(.+)_(asc|desc)$/', $order, $m)) {// 如果字符串的開頭是這 3 個字符串之一,說明是一個合法的排序值if (in_array($m[1], ['price', 'sold_count', 'rating'])) {// 根據傳入的排序值來構造排序參數$builder->orderBy($m[1], $m[2]);}}}$products = $builder->paginate(16);

  2.查出某個字段,對結果轉為布爾類型,場景如某人是否收藏過此產品

$favored = false; if($user = $request->user()){$favored = boolval($user->favoriteProducts()->find($product->id)); //再傳進模板里

?

?HTML篇

1.form表單可以直提交成get形式.

2.?分頁后查詢的input內容丟失,可將參數加進paginate?如

<div class="float-right">{{ $products->appends($filters)->render() }}</div>

3.下拉式查詢?

<form action="{{ route('products.index') }}" class="search-form"><div class="form-row"><div class="col-md-9"><div class="form-row"><div class="col-auto"><input type="text" class="form-control form-control-sm" name="search" placeholder="搜索"></div><div class="col-auto"><button class="btn btn-primary btn-sm">搜索</button></div></div></div><div class="col-md-3"><select name="order" class="form-control form-control-sm float-right"><option value="">排序方式</option><option value="price_asc">價格從低到高</option><option value="price_desc">價格從高到低</option><option value="sold_count_desc">銷量從高到低</option><option value="sold_count_asc">銷量從低到高</option><option value="rating_desc">評價從高到低</option><option value="rating_asc">評價從低到高</option></select></div></div></form>

?

$('.search-form select[name=order]').on('change',function(){$('.search-form').submit();})

?

posted on 2019-05-09 13:55 greatbing 閱讀(...) 評論(...) 編輯 收藏

轉載于:https://www.cnblogs.com/bing2017/p/10838047.html

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的Laravel中一些要记住 的写法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。