Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

लैरावेल में मेरे एसक्यूएल स्टेटमेंट को कैसे कार्यान्वित करें?

आप इसे DB::statement . का उपयोग करके हल कर सकते हैं , DB:raw और DB::select

कोड मेरे Laravel 5.0 परीक्षण वातावरण पर परीक्षण किया गया है और यह पूरी तरह से काम करता है।

आपके mysql कथन का भी परीक्षण किया गया है यह MySQL कंसोल पर पूरी तरह से काम करता है।

यहां कोड है:

DB::statement(DB::raw('SET @prev=0,@rownum=0'));

$results =
    DB::select(
        DB::raw("
          SELECT utilizador_id, nome
          FROM (
            SELECT *,
                 IF( @prev <> utilizador_id,
                     @rownum := 1,
                     @rownum := @rownum+1
                 ) AS rank,
                 @prev := utilizador_id,
                 @rownum
            FROM (
              SELECT * FROM `anuncios`
              ORDER BY utilizador_id, rand()
            ) AS random_ads
          ) AS ads_ranked
          WHERE rank <= 2;
        ")
    );

परिणाम देखें

echo "utilizador_id | nome <br />";

foreach ($results as $result)
{
    echo $result->utilizador_id . "__________| " . $result->nome . "<br />";
}

याद रखें जोड़ने के लिए use DB; नाम स्थान के बाद:

<?php

namespace App\Http\Controllers;

use DB;

मैंने केवल सभी परिणाम आउटपुट प्रदर्शित करने के लिए परिणाम देखें कोड बनाया है, लेकिन यह आप पर निर्भर है कि आप अपने कोड में डेटा में हेरफेर कैसे करें।

परीक्षा के परिणाम

MySQL कंसोल में आपके mysql कथन के यादृच्छिक परिणाम

लारवेल में आपके mysql कथन के यादृच्छिक परिणाम

नोट:

1- मैंने आपके लिए इस प्रश्न को स्वयं हल कर लिया है लेकिन मुझे एक छोटी सी समस्या का सामना करना पड़ा और मुझे लैराकास्ट फोरम में क्रिप्टोनिट 3 से इनपुट मिला।

2- आपको इस प्रश्न के अन्य समाधान मिल सकते हैं या इसे विभिन्न तरीकों से हल किया जा सकता है, लेकिन मैंने इस तरह से हल करना चुना है।

नोट 1 में पूरा प्रश्न और उत्तर यहां पाया जा सकता है। ।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. डेटा संग्रहीत करने पर Laravel 1048 कॉलम NULL नहीं हो सकता है

  2. एक MySQL डेटाबेस से Jquery, AJAX और PHP के साथ डेटा पुनर्प्राप्त करना

  3. पिछली पंक्ति MySQL से मात्रा घटाएं

  4. क्वेरी में MySQL में आदेश बनाए रखना

  5. जब दिनांक फ़ंक्शन के साथ कॉलम रैप करते हैं तो mysql हिट इंडेक्स क्यों होता है?