Amir Alsaeed نشر 18 مارس 2021 أرسل تقرير نشر 18 مارس 2021 أحاول إظهار بعض المعلومات عن لارافيل في موقعي، وأريد طباعة ما يكافئ الاستعلام الذي يتم استخدام Eloquent فيه إلى استعلام SQL، فلدي الاستعلام التالي: DB::table('users')->get(); كيف يمكنني استخراج الاستعلام الذي أقوم به عن طريق Eloquent لسلسلة نصية؟ أي طباعة التالي بدلاً من نتيجة الاستعلام: SELECT * FROM users اقتباس
0 سمير عبود نشر 18 مارس 2021 أرسل تقرير نشر 18 مارس 2021 يُمكنك طباعة الإستعلام الذي يتم تنفيذه عن طريق إستخدام التابع toSql كما هو موضح أدناه: DB::table('users')->toSql(); // أو User::toSql(); فمثلا إن كنت تريد طباعة الإستعلام لهذا الكود: User::where('id', '<', 10)->get(); تقوم بالتالي: User::where('id', '<', 10)->toSql(); اقتباس
0 Sam Ahw نشر 18 مارس 2021 أرسل تقرير نشر 18 مارس 2021 يمكن الاستماع للحدث 'illuminate.query' عند الحاجة لإجرائها على أكثر من استعلام وللسهولة. كالتالي: Event::listen('illuminate.query', function($query, $params, $time, $conn) { dd(array($query, $params, $time, $conn)); }); DB::table('users')->get(); ويجب إضافتها قبل الاستعلامات، وعند حدوث أي استعلام على قاعدة البيانات سيتم تنفيذ محتوى التابع وطباعة مصفوفة تحوي جميع المتغيرات التي قمنا بتمريرها في التابع وبذلك يمكنك الحصول على كافة المعلومات الخاصة بهذا الاستعلام: الاستعلام نفسه - المتغيرات - توقيت الاستعلام - نوع الاتصال. وستكون نتيجتها بشكل مشابه للتالي: array(4) { [0]=> string(21) "select * from "users"" [1]=> array(0) { } [2]=> string(4) "0.94" [3]=> string(6) "sqlite" } 1 اقتباس
السؤال
Amir Alsaeed
أحاول إظهار بعض المعلومات عن لارافيل في موقعي، وأريد طباعة ما يكافئ الاستعلام الذي يتم استخدام Eloquent فيه إلى استعلام SQL، فلدي الاستعلام التالي:
DB::table('users')->get();
كيف يمكنني استخراج الاستعلام الذي أقوم به عن طريق Eloquent لسلسلة نصية؟ أي طباعة التالي بدلاً من نتيجة الاستعلام:
SELECT * FROM users
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.