简体   繁体   中英

Laravel 5.0 Undefined variable result

I have a form that a user enters and takes the entry and queries the database and returns to a view. I have managed to get one query working but when trying to work on another query it returns an undefined variable error in the view. See below:

Routes

Route::get('/shopsales', 'shopsalescontroller@index');

Controller

class shopsalescontroller extends Controller

{

 public function index()
{
    $storeNum = request('storeNum');


   $result = shopsales::where('StoreNumber','=',$storeNum)
        ->get();

    return view('shopsales',compact('result'));


}

}

shopsales view

<section>
  <center><h1><STRONG>Query Data</STRONG></h1></center>
    <ul>
      @foreach ($result as $results)
        <li>Report Name = {{ $results->ReportName}} | Report ID = {{ $results->ReportID}} | Store Number = {{ $results->StoreNumber}} | Store Name = {{ $results->StoreName}} | Week Number = {{ $results->WeekNumber}} |
            Year = {{ $results->Year}} | PerfumeName = {{ $results->PerfumeName}} | Units Sold = {{ $results->UnitsSold}} | Sales = {{ $results->Sales}}
        </li>
        <br>
      @endforeach
    </ul>

</section>

I have used the exact code for the query that is working, struggling to understand why this is not.

try this

in App\\Route

Route::resource('/shopsales','ShopSalecontroller');

This routes the following actions: index , create , store , show , edit , update and destroy .

add this function to shopsales model

public function scopeNumber($query, $number){
    if($number != null){
        $query->where('storeNumber','=', "$number");
    }
}

in ShopSalesController index:

public function index(Request $request){
   $result = shopsales::get()->number($request->storeNumber)->all();
   return view('shopsales',compact('result'));
}

Remember to have in the index view a form with the field storeNumber

public function index()
{
   $storeNum = request('storeNum');
   $result = shopsales::where('StoreNumber','=',$storeNum)
        ->get();
    return view('shopsales',['result'=>compact('result')]);
}

Change your controller code like above. Also check if $result is not null.

Try something like this

public function storeCheckout(Request $request) {
$storeNum=$request->get('storeNum');
$result = shopsales::where('StoreNumber','=',$storeNum)
        ->get();

    return view('shopsales',compact('result'));

}

解决了,尽管为浪费您的时间而感到抱歉,但我的某些视图中应该包含大写字母,并修复了清除视图缓存的问题,现在我有了查询。

in action index change var $result to $results

in view index @foreach ($results as $result) @endforeach

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM