Data transfer from controller to blade view

I am trying to send parameters via href to a page from event list to event page.

My route

 Route::get('eventpage', 'EventController@index')->name('eventpage');

      

And my event controller

<?php
namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;

   class EventController extends Controller
{

public function index(Request $request)
{
    $id = $request->query('id');
    $event = DB::table('events')->where('id',$id)->get();
    $pics = DB::table('pictures')->where('event_id',$id)->get();
    $n = count($pics); // the number of pictures for a particular event
    return view('pages.eventPage');
}

      

}

The problem is that for the first variable I try to use, $ n, it gives me an error, "Undefined variable: n"

My left code looks like this

@for($i = 1; $i < $n; $i++)
<li data-target="#carousel-example-generic" data-slide-to="{{ $i }}"></li>
@endfor

      

What am I doing wrong?

+3


source to share


2 answers


route

 Route::get('eventpage', 'EventController@index')->name('eventpage');

      

Event controller



<?php
namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;

   class EventController extends Controller
{

public function index(Request $request)
{
    $id = $request->query('id');
    $event = DB::table('events')->where('id',$id)->get();
    $pics = DB::table('pictures')->where('event_id',$id)->get();

return view('pages.eventPage',compact('event','pics'));

}

}

      

blade code

@for($i = 1; $i < count($pics); $i++)
<li data-target="#carousel-example-generic" data-slide-to="{{ $i }}"></li>
@endfor

      

+4


source


You can pass your data to your mind like this:



public function index(Request $request)
{
  ....

  return view('pages.eventPage', compact('id', 'event', 'n'));
}

      

+1


source







All Articles