جستجو در بخش : سوال جواب منابع اسلامی لغت نامه ها قوانین و مصوبات نقل قل ها
×

فرم ورود

ورود با گوگل ورود با گوگل ورود با تلگرام ورود با تلگرام
رمز عبور را فراموش کرده ام عضو نیستم، می خواهم عضو شوم
×

×

آدرس بخش انتخاب شده


جهت کپی کردن میتوانید از دکمه های Ctrl + C استفاده کنید
رویداد ها - امتیازات
در حال بارگذاری
×

رویداد ها - امتیازات

برای بررسی عملکرد فعالیت و امتیازات خود باید در وب سایت وارد باشید. در صورت عضویت از بخش بالای صفحه وارد شوید، در غیر این صورت از دکمه پایین، مستقیم به صفحه ثبت نام وارد شوید.

×
×
×

دلیل درخواست بستن پست

کلیه پست هایی که جنبه تبلیغاتی داشته، محتوای اسپم و بی مفهوم در این دسته قرار میگیرند. همچنین پست هایی که به منظور گرفتن بک لینک درج می شوند شامل این مورد هستند.
حاوی مفاهیم غیر اخلاقی، سیاسی و یا توهین آمیز. کلیه پست هایی که از نظر محتوایی نیاز به بررسی و یا حذف شدن دارند در این دسته قرار می گیرند.
محتوایی با عدم جزئیات کافی و مورد نیاز. کلیه پست هایی که منظور نویسنده به وضوح مشخص نیست و نیازمند توضیحات و جزئیات بیشتر می باشند در این دسته قرار می گیرند.
محتوایی بی ربط با موضوعیت سرفصل کلی. کلیه پست هایی که از منظر مفهوم و مضمون ارتباطی با عنوان اصلی سوال ندارند در این دسته قرار می گیرند.
محتوایی دلخواه و بر پایه سلیقه. کلیه پست هایی که یک پاسخ مشخص ندارند و متوانند چندین پاسخ متفاوت و صحیح داشته باشند که کاملا مبتنی بر نظر شخصی افراد هستند در این دسته قرار می گیرند.
محتوایی در حوزه خیلی وسیع. کلیه پست هایی که از نظر محتوایی در یک حوزه ی وسیعی قرار دارند و مشخصا به یک موضوع خاصی اشاره ندارند که پاسخدهی به آن ها مستلزم تشریح مفاهیمی کلی می باشند در این دسته قرار می گیرند.
قبلا در لام تا کام مطرح شده. پست هایی که دقیقا با همین محتوا و مضمون قبلا در وب سایت لام تا کام درج شده اند، با ذکر آدرس منبع تکراری با پست حال حاضر شامل این دسته هستند. تکراری است با:
به سایر دلایل، نیازمند به بررسی توسط مدیر. به هر دلیل غیری که پست را نیازمند بررسی توسط مدیر کرده، با ذکر دلیل، در این دسته قرار میگیرد.
ارسال رای بستن

چگونه میتوانم خروجی query builder را به صورت کوئری خام (Raw SQL Query) دریافت کنم ؟


2
0
1554

با توجه به کد زیر:

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

من می خواهم یک رشته کوئری خام دریافت کنم که query builder تولید خواهد کرد.

برای مثال برای خروجی کد بالا کد زیر را میخواهم :

SELECT * FROM users

چگونه این کار را انجام دهم ؟

تکنولوژی برنامه-نویسی پایگاه-داده لاراول
سوال شده در فرید صالحی
194 امتیاز

500 کاراکتر باقی مانده

2 جواب

6

سلام. باید قبل و بعد از query builder یک خط کد اضافه کنی. البته این نکته رو هم بگم که این روش علاوه بر query builder ، برای eloquent هم جواب میده. به این شکل:

\DB::enableQueryLog();

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

dump(\DB::getQueryLog());

die;

البته به جای dump و die میتونی از dd استفاده کنی که راحت تر هم هست. به منظور شفاف سازی خروجی دریافتی از متدد getQueryLog()، همچین چیزی به عنوان خروجی دریافت خواهید کرد:

array(1) {
  [0]=>
  array(3) {
    ["query"]=>
    string(21) "select * from "users""
    ["bindings"]=>
    array(0) {
    }
    ["time"]=>
    string(4) "0.92"
  }
}

همانطور که میبینی، که آیتم query از اولین آرایه خروجی، دقیقا خروجی هست که شما دنبالش هستی؛ همون کوئری خامی که کوئری بیلدر میسازه. بالتبع اگه در query builder یا eloquent شما متغیر ورودی هم وجود داشته باشه، توی آیتم bindings از آرایه ی خروجی نمایش داده میشه.

ویرایش شده در 5 سال قبل
جواب داده شده در emad naeimifar
98 امتیاز


اگر اشتباه نکنم dd دقیقا مخفف همون die و dump هستش و بد نیست لطف کنید یک توضیحی هم بدید که چرا از بک اسلش استفاده کردید در ابتدای DB؟ فرقی میکنه با اینکه use بشه؟ ــ ساناز رضایی در 5 سال قبل
2
@ساناز.رضایی درسته. dd مخفف عبارت dump and die هست. در مورد use کردن هم خب اصولا که باید use بشه. ولی چون این کدی که من زدم تستی بود، من نمیخواستم بالای کلاسم اونو use کنم و از بک اسلش قبلش استفاده کردم تا کارم سریعتر انجام بشه. همین. دلیل دیگه ای نداشت. ــ emad naeimifar در 5 سال قبل

500 کاراکتر باقی مانده


3

با استفاده از تابع toSql() هم میتونی کوئری خام رو بگیری. به این شکل:

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

که خروجیش به این صورت میشه:

SELECT * FROM `users`

امیدوارم که بدردت بخوره.

جواب داده شده در سعید مرادی
1933 امتیاز

500 کاراکتر باقی مانده


جواب شما
     
.....
×

×

جعبه لام تا کام


وب سایت لام تا کام جهت نمایش استاندارد و کاربردی در تمامی نمایشگر ها بهینه شده است.

تبلیغات توضیحی


داپ اَپ اولین پلتفرم کش‌بک در ایران
اگه میخوای از خریدهایی که میکنی، پاداش نقدی دریافت کنی داپ اَپ رو نصب کن.

تبلیغات تصویری