use App\Item; class ItemController extends Controller { public function index(Request $request) { $items = Item::name($request->name)->price($request->price)->paginate(25); return view('items.index', compact('items')); } }
你的型号:
class Item extends Model { public function scopeName($query, $name) { if (!is_null($name)) { return $query->where('name', 'like', '%'.$name.'%'); } return $query; } public function scopePrice($query, $price) { if (!is_null($price)) { return $query->where(compact('price')); } return $query; } }
你的观点:
@foreach($items as $item) {{ $item->name }} @endforeach {!! $items->render() !!}
class ItemSearchRequest extends FormRequest { public function authorize() { return true; } /** * Get the validation rules that apply to the request. * * @return array */ public function rules() { return [ 'name' => 'nullable|string|min:2|max:100', 'price' => 'nullable|numeric', ]; } }