اذهب إلى المحتوى
  • 0

كيف أستطيع طباعة الاستعلام بشكل سلسلة نصية في لارافيل؟

Amir Alsaeed

السؤال

أحاول إظهار بعض المعلومات عن لارافيل في موقعي، وأريد طباعة ما يكافئ الاستعلام الذي يتم استخدام Eloquent فيه إلى استعلام SQL، فلدي الاستعلام التالي:

DB::table('users')->get();

كيف يمكنني استخراج الاستعلام الذي أقوم به عن طريق Eloquent لسلسلة نصية؟ أي طباعة التالي بدلاً من نتيجة الاستعلام:

SELECT * FROM users

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

يُمكنك طباعة الإستعلام الذي يتم تنفيذه عن طريق إستخدام التابع toSql كما هو موضح أدناه:

DB::table('users')->toSql();

// أو 

User::toSql();

فمثلا إن كنت تريد طباعة الإستعلام لهذا الكود:

User::where('id', '<', 10)->get();

تقوم بالتالي:

User::where('id', '<', 10)->toSql();

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

يمكن الاستماع للحدث '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"
}

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...