Mohammed Jawareesh نشر 18 يوليو 2023 أرسل تقرير نشر 18 يوليو 2023 (معدل) لو نفترض ان لدنيا حقل في قاعده البيانات وهو ك الاتي محمد فادي عادل جواريش اريد جمله sql تمكني ب البحث عن الاسم بكل الاشكال مثل محمد جواريش او محمد فادي او محمد عادل الخ laravel elquent or sql statement تم التعديل في 18 يوليو 2023 بواسطة Mustafa Suleiman تعديل عنوان السؤال 2 اقتباس
0 Mustafa Suleiman نشر 18 يوليو 2023 أرسل تقرير نشر 18 يوليو 2023 نستخدم جملة SQL كالتالي للبحث عن الأسماء بجميع الأشكال الممكنة: SELECT * FROM table_name WHERE name LIKE '%محمد%' AND name LIKE '%فادي%' AND name LIKE '%عادل%' AND name LIKE '%جواريش%'; أما إذا كنت تستخدم إطار عمل Laravel وتستخدم ORM Eloquent، فاستخدم الكود التالي: $results = DB::table('table_name') ->where('name', 'LIKE', '%محمد%') ->where('name', 'LIKE', '%فادي%') ->where('name', 'LIKE', '%عادل%') ->where('name', 'LIKE', '%جواريش%') ->get(); وبالطبع نستبدل table_name بالاسم الصحيح للجدول الذي تحتوي عليه البيانات. اقتباس
0 Mohammed Jawareesh نشر 18 يوليو 2023 الكاتب أرسل تقرير نشر 18 يوليو 2023 بتاريخ 1 دقيقة مضت قال Mustafa Suleiman: نستخدم جملة SQL كالتالي للبحث عن الأسماء بجميع الأشكال الممكنة: SELECT * FROM table_name WHERE name LIKE '%محمد%' AND name LIKE '%فادي%' AND name LIKE '%عادل%' AND name LIKE '%جواريش%'; أما إذا كنت تستخدم إطار عمل Laravel وتستخدم ORM Eloquent، فاستخدم الكود التالي: $results = DB::table('table_name') ->where('name', 'LIKE', '%محمد%') ->where('name', 'LIKE', '%فادي%') ->where('name', 'LIKE', '%عادل%') ->where('name', 'LIKE', '%جواريش%') ->get(); وبالطبع نستبدل table_name بالاسم الصحيح للجدول الذي تحتوي عليه البيانات. هناك input من filed search اقتباس
0 Adnane Kadri نشر 18 يوليو 2023 أرسل تقرير نشر 18 يوليو 2023 جرب المحايلة باستخدام عدد n من استعلامات OR LIKE بشكل ديناميكي. بحيث تقوم أولا بتجزئة الجملة المراد فلترة النتائج بحسبها: $keywords = explode(' ', $originalKeyword); ثم جهز استعلام Eloquent الخاص بك: $results = YourModel::where('name', 'LIKE', $keywords[0]); ثم من أجل كل كلمة من الكلمات المفتاحية قم بتجهيز استعلام OR LIKE: foreach($keywords as $keyword){ $results = $result->orWhere('name', 'LIKE', $keyword) } ثم نفذ الاستعلام في الأخير: $result = $result->get(); فيكون الكود كاملا: $keywords = explode(' ', $originalKeyword); $results = YourModel::where('name', 'LIKE', $keywords[0]); foreach($keywords as $index => $keyword){ if($index > 0){ $results = $result->orWhere('name', 'LIKE', $keyword); } } $result = $result->get(); اقتباس
0 Mustafa Suleiman نشر 19 يوليو 2023 أرسل تقرير نشر 19 يوليو 2023 بتاريخ On 18/7/2023 at 15:26 قال mohammad.jawareesh: هناك input من filed search استخدم قيمة ذلك الحقل لتنفيذ البحث في قاعدة البيانات، كالتالي: في ملف العرض (View) الخاص بك، أنشئ نموذج (Form) بحث بالشكل التالي: <form method="GET" action="/search"> <input type="text" name="query" placeholder="ابحث عن الاسم"> <button type="submit">ابحث</button> </form> ثم، في ملف التوجيه (Routes)، حدد مسار للبحث وربطه بوظيفة في وحدة التحكم (Controller)، كالتالي: Route::get('/search', 'SearchController@search'); وفي وحدة التحكم (Controller) الخاصة بالبحث، تستطيع استقبال الاستعلام (query) المدخل من الحقل واستخدامه في جملة البحث، كالتالي: use Illuminate\Http\Request; use App\Models\Table; class SearchController extends Controller { public function search(Request $request) { $query = $request->input('query'); $results = Table::where('name', 'LIKE', '%' . $query . '%')->get(); // عرض النتائج أو قم بالإجراءات المناسبة return view('search_results', ['results' => $results]); } } بحيث تستقبل الاستعلام (query) من الحقل بواسطة كائن Request، ثم استخدامه في جملة البحث للبحث عن السجلات التي تحتوي على الاستعلام في حقل الاسم، وتُرسل النتائج إلى عرض (View) المستخدم لعرضها بطريقة مناسبة. واستبدل Table بالاسم الصحيح للنموذج لديك، واستبدال search_results بعرض النتائج أيضًا. اقتباس
0 Hessen Nasser نشر 19 يوليو 2023 أرسل تقرير نشر 19 يوليو 2023 لتنفيذ بحث متعدد الأشكال في قاعدة بيانات SQL باستخدام Laravel Eloquent، يمكنك استخدام الدالة WHERE مع عبارات متعددة لكل كلمة في الاسم. يمكنك استخدام العلامة النجمية (%) كحرف وايلدكارد للبحث عن أي جزء من النص. هنا هو مثال باستخدام Laravel Eloquent للبحث عن الاسم بكل الأشكال التي ذكرتها: $searchTerm = 'محمد فادي عادل جواريش'; $results = DB::table('اسم_الجدول') ->where(function ($query) use ($searchTerm) { $keywords = explode(' ', $searchTerm); foreach ($keywords as $keyword) { $query->orWhere('اسم_الحقل', 'like', '%' . $keyword . '%'); } }) ->get(); ضع "اسم_الجدول" بدلًا من اسم الجدول الفعلي في قاعدة البيانات الخاصة بك، و"اسم_الحقل" بدلًا من اسم الحقل الذي تحتوي عليه الأسماء. هذا الاستعلام سيبحث عن جميع الأسماء التي تحتوي على أي من الكلمات الموجودة في المتغير $searchTerm. وسيعيد جميع الصفوف التي تطابق هذا الشرط. مثال: إذا كان لديك الأسماء التالية في قاعدة البيانات: محمد جواريش عادل محمد فادي سامي جواريش وأدخلت $searchTerm = 'محمد فادي عادل جواريش'، فسيقوم البحث بإعادة الأسماء رقم 1 ورقم 2 لأنها تحتوي على أي من الكلمات المذكورة في البحث. تنويه: قم بتغيير "اسم_الجدول" و"اسم_الحقل" وفقًا لاسم الجدول والحقل الفعلي في قاعدة البيانات الخاصة بك. اقتباس
السؤال
Mohammed Jawareesh
لو نفترض ان لدنيا حقل في قاعده البيانات وهو ك الاتي
محمد فادي عادل جواريش
اريد جمله sql تمكني ب البحث عن الاسم بكل الاشكال
مثل محمد جواريش او محمد فادي او محمد عادل الخ
laravel elquent or sql statement
تم التعديل في بواسطة Mustafa Suleimanتعديل عنوان السؤال
5 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.