تکنیکهای جستجو با Eloquent Laravel

۸ فروردین ۱۳۹۷

در این مقاله ما برخی از تکنیکهای جستجو با استفاده از eloquent laravel در طراحی سایت به شما آموزش خواهیم داد.

یک مثال ساده از where

در کد پایین یک مثال ساده از جستجو را مشاهده می کنید:


<?php

$results = Post::where('title', 'foo')->get();

در اینجا ما && را با استفاده از آرایه به جستجوی خود اضافه می کنیم:


<?php

$results = Post::where([
    ['title', '=', 'foo'],
    ['published', '=', true],
])->get();

در جستجوی پایین اپریتور || را با استفاده orWhere به شما نمایش می دهیم:


<?php

$results = Post::where('title', 'foo')->orWhere('description', 'foo')->get();

جستجو با استفاده از like

برای قدم بعدی، بیایید نگاهی به کلید واژه LIKE MySQL بیاندازیم. این کار را با استفاده از کاراکتر % انجام خواهیم داد.


<?php

// We can use a variable
$keyword = 'foo';

// Starts with 'foo', ends with anything
$results = Post::where('title', 'like', "{$keyword}%")->get();

// Ends with 'foo', starts with anything
$results = Post::where('title', 'like', "%{$keyword}")->get();

// Contains 'foo'
$results = Post::where('title', 'like', "%{$keyword}%")->get();

جستجو در ستونها JSON

نوع JSON یک انعطاف پذیری بزرگ را به ارمغان می آورد که فوق العاده است. همچنین، ما می توانیم به راحتی با Eloquent آنرا نمایش دهیم، زیرا پشتیبانی خوبی از JSON دارد. اما نکته مهم این است که JSON به حروف کوچک و بزرگ حساس است و آنها را متفاوت می بیند.


<?php
$results = Post::where('meta->description', 'like', '%foo%')->get();

ما این حساسیت را با استفاده از whereRaw از بین می بریم:


<?php
$keyword = 'foo';
$results = Post::whereRaw('lower(meta->"$.description") like lower(?)', ["%{$foo}%"]);

 نویسنده:حمید شاه محمدی
 تعداد مشاهده خبر:(569)
 هر روز از مقاله های جدید طراحی سایت در کانال تلگرام ما با خبر شوید

 میانگین امتیازات:
 
  تعداد رای دهندگان: {{ count }}
نظرات:

{{ x }}
{{ alert }}

نویسنده:{{ com.name }}
{{ com.body }}
{{ com.created_at }}