আমি কীভাবে একটি জুমলা ক্যোয়ারী মুদ্রণ করতে পারি?


14

মনে করুন আপনি জুমলার সাথে একটি অনুসন্ধান তৈরি করেছেন।

// Get a db connection.
$db = JFactory::getDbo();

// Create a new query object.
$query = $db->getQuery(true);

// Select all records from the user profile table where key begins with "custom.".
// Order it by the ordering field.
$query->select($db->quoteName(array('user_id', 'profile_key', 'profile_value', 'ordering')));
$query->from($db->quoteName('#__user_profiles'));
$query->where($db->quoteName('profile_key') . ' LIKE '. $db->quote('\'custom.%\''));
$query->order('ordering ASC');

// Reset the query using our newly populated query object.
$db->setQuery($query);

// Load the results as a list of stdClass objects (see later for more options on retrieving data).
$results = $db->loadObjectList();

এখান থেকে উদাহরণ: https://docs.joomla.org/ নির্বাচিত_ডাটা_ ব্যবহার_জেডিটাবেস

ক্যোয়ারী স্টেটমেন্ট (ফলাফলগুলি প্রকৃত এসকিউএল নয়) প্রিন্ট করার জন্য কোনও আদেশ আছে কি?


যাতে আমি "SELECT * FROM ...." হিসাবে কোয়েরিটি পড়তে পারি
ম্যাট কে

1
ডিবাগ মোডটি ব্যবহার করবেন না কেন?
jdog

উত্তর:


18

আপনার প্রতিধ্বনি __to স্ট্রিং () করতে হবে

echo($query->__toString());

আপনি এখানে আরও তথ্য আঁকতে পারেন

https://docs.joomla.org/API16:JDatabaseQuery/_toString

আশা করি এটা সাহায্য করবে


কেবলমাত্র লক্ষ করতে চাই যে এই পদ্ধতিটি ব্যবহার করার সময়, এটি জুমলা উপসর্গের সাথে ক্যোয়ারিকে ডাম্প করে #__
লড্ডার

প্রতিধ্বনি (স্ট্রিং) $ কোয়েরি;
জেপ্রুফ

9

আপনি জুমলার replacePrefixফাংশনটিও ব্যবহার করতে পারেন যা পিআরপিএমইএডমিনের পছন্দগুলিতে সরাসরি sertedোকানো যেতে পারে এমন ফর্ম্যাটে ক্যোয়ারিকে ফেলে দেয়।

এখানে একটি উদাহরণ:

$db = JFactory::getDbo();

$query = $db->getQuery(true);
$query->select($db->quoteName('something'))
      ->from($db->quoteName('#__content')); 
$db->setQuery($query);

// Dump the query
echo $db->replacePrefix((string) $query);

নিম্নলিখিত ফলাফল আউটপুট হবে:

SELECT `something` FROM `jos_content`


4

JDatabaseQueryঅবজেক্ট টি __toString()ফাংশন যে প্রশ্নের সাথে আউটপুট যাতে আপনি করতে পারেন:

echo $db->getQuery();

অথবা আপনি যদি কোনও ফাংশনে এটি পাস করতে চান তবে আপনি প্রথমে স্পষ্টভাবে স্ট্রিংয়ে কাস্ট করতে পারেন:

var_dump((string)$db->getQuery());

0

জুমলা ডিবাগ বৈশিষ্ট্যটি আপনাকে আপনার ওয়েবসাইট লোড করার সময় কার্যকর করা প্রশ্নের সম্পর্কে প্রচুর তথ্য দেবে।


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.