تسمح لك هذه الحزمة بتصفية وفرز وتضمين العلاقات البليغة بناءً على الطلب. يعمل QueryBuilder
المستخدم في هذه الحزمة على توسيع منشئ Eloquent الافتراضي الخاص بـ Laravel. وهذا يعني أن كافة الأساليب ووحدات الماكرو المفضلة لديك لا تزال متاحة. تتبع أسماء معلمات الاستعلام مواصفات JSON API بأكبر قدر ممكن.
/users?filter[name]=John
: use Spatie QueryBuilder QueryBuilder ;
$ users = QueryBuilder:: for (User::class)
-> allowedFilters ( ' name ' )
-> get ();
// all `User`s that contain the string "John" in their name
اقرأ المزيد حول ميزات التصفية مثل: المرشحات الجزئية، والمرشحات الدقيقة، ومرشحات النطاق، والمرشحات المخصصة، والقيم التي تم تجاهلها، وقيم المرشح الافتراضية، ...
/users?include=posts
: $ users = QueryBuilder:: for (User::class)
-> allowedIncludes ( ' posts ' )
-> get ();
// all `User`s with their `posts` loaded
اقرأ المزيد حول ميزات التضمين مثل: بما في ذلك العلاقات المتداخلة، بما في ذلك عدد العلاقات، والتضمين المخصص، ...
/users?sort=id
: $ users = QueryBuilder:: for (User::class)
-> allowedSorts ( ' id ' )
-> get ();
// all `User`s sorted by ascending id
اقرأ المزيد حول ميزات الفرز مثل: الفرز المخصص، واتجاه الفرز، ...
$ query = User:: where ( ' active ' , true );
$ userQuery = QueryBuilder:: for ( $ query ) // start from an existing Builder instance
-> withTrashed () // use your existing scopes
-> allowedIncludes ( ' posts ' , ' permissions ' )
-> where ( ' score ' , ' > ' , 42 ); // chain on any of Laravel's query builder methods
/users?fields[users]=id,email
$ users = QueryBuilder:: for (User::class)
-> allowedFields ([ ' id ' , ' email ' ])
-> get ();
// the fetched `User`s will only have their id & email set
اقرأ المزيد عن اختيار الحقول.
نحن نستثمر الكثير من الموارد في إنشاء أفضل الحزم مفتوحة المصدر في فئتها. يمكنك دعمنا عن طريق شراء أحد منتجاتنا المدفوعة.
نحن نقدر بشدة إرسالك لنا بطاقة بريدية من مسقط رأسك، مع ذكر الحزمة (الحزم) التي تستخدمها. ستجد عنواننا على صفحة الاتصال لدينا. ننشر جميع البطاقات البريدية المستلمة على جدار البطاقات البريدية الافتراضية لدينا.
يمكنك تثبيت الحزمة عبر الملحن:
composer require spatie/laravel-query-builder
اقرأ ملاحظات التثبيت على موقع المستندات: https://spatie.be/docs/laravel-query-builder/v5/installation-setup.
يمكنك العثور على الوثائق على https://spatie.be/docs/laravel-query-builder/v5.
تجد نفسك عالقا في استخدام الحزمة؟ العثور على خطأ؟ هل لديك أسئلة أو اقتراحات عامة لتحسين مكتبة الوسائط؟ لا تتردد في إنشاء مشكلة على GitHub، وسنحاول معالجتها في أقرب وقت ممكن.
إذا وجدت خطأً يتعلق بالأمان، فيرجى إرسال بريد إلكتروني إلى العنوان [email protected] بدلاً من استخدام أداة تعقب المشكلات.
الرجاء مراجعة UPGRADING.md للحصول على التفاصيل.
composer test
الرجاء مراجعة سجل التغيير لمزيد من المعلومات عما تغير مؤخرًا.
يرجى الاطلاع على المساهمة للحصول على التفاصيل.
إذا وجدت خطأً يتعلق بالأمان، فيرجى إرسال بريد إلكتروني إلى العنوان [email protected] بدلاً من استخدام أداة تعقب المشكلات.
رخصة معهد ماساتشوستس للتكنولوجيا (MIT). يرجى الاطلاع على ملف الترخيص لمزيد من المعلومات.