سؤال

لقد حصلت على بعض الإجابات من منتديات SO ومن Laravel لتجميع النتائج معًا.ومع ذلك، لدي Undefined variable error ولست متأكدا من السبب.

مراقب

public function getJobs()

        {
            $query = DB::table('jobs');

            if (isset($jcategory))
            $query->where('category', '=', $jcategory);

            $result = $query->get();
           return View::make('jobsearch.search', $result);
        }

عرض (تم اختصاره للمساحة)

<form action="{{ action('JobsearchController@getJobs') }}" method="post">
  <div class="row">
    <div class="large-8 columns">
      <input type="text" name="realm" placeholder="Keywords/Skills" />
    </div>
    <div class="large-4 columns">
        <select name="jcategory">
        <option value="">Select Category</option>
        <option value="jc1">Accounting</option>

...

 </select>
    </div>
    <div class="large-4 columns">
       <input type="submit" value="Search" style="width:100%; padding-top: .5rem;
padding-bottom: .5rem;" class="button border-btn" />
      </div>


</div>
</form>

@foreach ($result as $job)
    <p>{{ $job->id }}</p>
@endforeach

بمجرد أن أنجح في هذا الاختبار الصغير، سأضيف بقية isset داخل ال $query.ما أحاول تحقيقه هو أن العرض سيحمل جميع الوظائف في قاعدة البيانات وإذا قام المستخدم بتغيير الفئة (على سبيل المثال) وأرسل العرض فسوف يعيد تحميل الصفحة بالتغييرات المنعكسة في الاستعلام.

أحصل حاليا على Undefined variable: result خطأ في طريقة العرض.لقد حاولت foreach بطرق مختلفة ولكن لدي شعور بأن وحدة التحكم لا تمرر أي شيء.

هل كانت مفيدة؟

المحلول

لقد مررت $result متغير بطريقة خاطئة.جرب هذا:

return View::make('jobsearch.search')->with('result', $result);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top