سلام میخوام یه سرچ ساده با لاراول دورس کنم
چندتا مطالب توی سایت های خارجی دیدم اما اجرا نمیشدن
کسی سرچ ساده بلده یه نمونه کد بزار اینجا
ممنون
@alirezasafdari
خصوصیت اکشن فرم و روت رو باید چطور بنویسم براش؟
شاید پاسخ شما همینجا باشد
@alirezasafdari
متغییر ی که ارسال داره میشه چرا دریافت نداره مثلن input یا get
@_sj10ss
به scope اول تابع دقت کنید.
این متد باید در یک مدل لاراول قرار بگیره.. کارهایی رو که میخواهید با input و get انجام بدید لاراول برای شما انجام میده بعلاوه خیلی کارهای دیگه
شما همین چیزی که فرستادم رو بذارید توی مدل تون، بعد توی کنترلر اینطوری بنویسید:
public function search(){
$key = request('keyword');
$lessons = Lesson::search($key)->latest()->get();
return view('front.section.search', compact('lessons','key'));
}
توی ویو هم کلمه کلیدی رو توی یک فرم به صورت get ارسال کن
@ali.bayat
میشه بیشتر توضیح بدید
خیلی سطحی بود
اینو توی مدل بزرام؟
@alirezasafdari
public function scopeSearch($query , $keyword)
{
$query->where('title', 'LIKE', '%' . $keyword . '%')
->orWhere('body', 'LIKE', '%' . $keyword . '%');
return $query;
}@alirezasafdari
میشه سوروس کد کاملی دارید برام بفرستید
یه خورده کامل تر توضیح میدید
ویو:
<form action="{{route('search')}}" class="w-100" method="get">
<div class="input-group">
<input name="keyword" type="text" class="form-control"
placeholder="جستجو در پرسش ها، دوره ها، ویکی ها، وکلا و ...">
<div class="input-group-prepend d-none d-lg-flex"
style="border-top-right-radius: 0px; border-bottom-right-radius: 0px ">
<button type="submit" class="input-group-text text-white"
style="border: 0px; background-color:rgb(0,174,234);">جستجو
</button>
</div>
</div>
</form>
روت:
Route::get('/search', 'searchController@search')->name('search');
کنترلر:
public function search(){
$key = request('keyword');
$lessons = Lesson::search($key)->latest()->get();
return view('front.section.search', compact('lessons','key'));
}
مدل:
public function scopeSearch($query , $keyword)
{
$query->where('title', 'LIKE', '%' . $keyword . '%')
->orWhere('body', 'LIKE', '%' . $keyword . '%');
return $query;
}
یک خرده به کد ها دقت کنی متوجه میشید، چیز خاصی نداره
@alirezasafdari
خروجی چیزی بهم نشون نمیده اصلان
مشکل از کجاست؟
@alirezasafdari
در حالی که در دستور زیر key رو چاپ می کنه اما lessons رو چاپ نمی کنه
public function search(){
$key = request('keyword');
$lessons = Lesson::search($key)->latest()->get();
return view('ly.show', compact('lessons','key'));
}
???????
نه ببخشید اصلاح شده قسمت کد بالا به این صورت هست lesson نداره
اما باز اجرا نمیشه
$lessons = Movie::search($key)->latest()->get();
در ضمن من دارم از پایگاه داده neo4j استفاده می کنم که برای واکشی تو مستنداتش گفته باید به صورت زیر واکشی بشه
$tagline=DB::table('Movie')->collect('tagline');
یعنی به صورت collect
حالا میخوامبه کویر فوق collect اضافه کنم باید چیکار کنم
من کنترلر رو به صورت زیر نوشتم
باید عمل کنه اما خروجی برنمی گردونه
public function search() {
$key = request('keyword');
$lessons = Movie::find($key);
$lessons1=Movie::Where('released', '=',$key)->collect('title');
return view('ly.show',compact('lessons','key','lessons1')) ;
}
در واقع id رو میزنم برمی گردونه
اما سال رو میزنم بر نمی گردونه
@mahnazzes
با د ادن پارامتر در url می تونید سرچ داشته باشید
مثلن به صورت زیر
www.ariport.com/api/v1/flights/A2WE0FG
اون کد آخر برای جست و جوی مشخصات پروازی هست
به این صورت با دادن پارامتر میشه جست و جو د اشت