php - जाँच करने के लिए कैसे है महान रिलायंस रिकॉर्ड सुविख्यात लार्वेल में खाली है




sql laravel (2)

अगर मैं आपको सही ढंग से समझा और आपको doesntHave() प्राप्त करना है जो कि categoryItem नहीं है, तो आप doesntHave() विधि का उपयोग करना चाहते हैं:

Recipes::where('name', 'like', '%'.$item.'%')
       ->doesntHave('categoryItem')
       ->get();

मुझे लगता है कि categoryItem Item परिभाषित परिभाषा है क्योंकि आप इसे with() विधि के with() उपयोग करने का प्रयास कर रहे हैं

मुझे उन अभिलेख प्राप्त करने की आवश्यकता है जिनके साथ इसमें शामिल नहीं हुआ है, इस पर मेरी क्वेरी कई सारणी है

$result = Recipes::select('id')->where("name", 'like', '%' . $item . '%')
                    ->with(['categoryItem'])
                    ->get();

और मेरा उत्पादन है

Array
(
    [0] => Array
        (
            [id] => 1
            [category_item] => Array
                (
                    [0] => Array
                        (
                            [id] => 2
                            [foodable_id] => 1
                            [foodable_type] => Recipes
                            [created_at] => 2017-04-14 16:18:22   
                        )

                )

        )

    [1] => Array
        (
            [id] => 4
            [category_item] => Array
                (
                )

        )

)

मैं उन रिकॉर्ड्स प्राप्त करना चाहता हूं जिनके पास खाली श्रेणी_आइटम विवरण है। उदाहरण के लिए, मैं सूचकांक 1 रिकॉर्ड प्राप्त करना चाहता हूं ताकि मैं क्वेरी के साथ स्थिति कैसे दे सकूं


हैलो शायद यह मदद कर सकता है अपनी फ़ाइल के शीर्ष पर जोड़ने के लिए न भूलें:

use DB;

और आपका परिणाम ऐसा कुछ होगा

$result = Recipes::select('id')->where("name", 'like', '%' . $item . '%') ->whereHas('categoryItem', function($q) { $q->where(DB::raw('count(*)),'>', 0); })->get();

मैंने गिनती कार्य की उम्मीद नहीं की, यह काम करता है, इसके साथ गुड लक





eloquent