将数据从控制器传递到刀片视图 laravel
Posted
技术标签:
【中文标题】将数据从控制器传递到刀片视图 laravel【英文标题】:passing data from controller to blade view laravel 【发布时间】:2017-09-03 17:22:15 【问题描述】:我正在尝试通过 href 将参数发送到从事件列表到事件页面的页面。
我的路线是
Route::get('eventpage', 'EventController@index')->name('eventpage');
我的事件控制器是
<?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');
问题在于,对于我尝试使用的第一个变量 $n,它给了我一个错误,“未定义的变量:n”
我的刀片代码如下
@for($i = 1; $i < $n; $i++)
<li data-target="#carousel-example-generic" data-slide-to=" $i "></li>
@endfor
我做错了什么?
【问题讨论】:
有很多问题可以解释这一点,输入您的问题标题会引导您进入大量类似的问题。 我想,直到我已经写了问题,我才知道如何表述它,所以我让它成为...... 【参考方案1】:路线
Route::get('eventpage', 'EventController@index')->name('eventpage');
事件控制器
<?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'));
刀片代码
@for($i = 1; $i < count($pics); $i++)
<li data-target="#carousel-example-generic" data-slide-to=" $i "></li>
@endfor
【讨论】:
【参考方案2】:您可以像这样将数据传递给您的视图:
public function index(Request $request)
....
return view('pages.eventPage', compact('id', 'event', 'n'));
【讨论】:
以上是关于将数据从控制器传递到刀片视图 laravel的主要内容,如果未能解决你的问题,请参考以下文章
在 laravel 中使用 ajax 从控制器刀片文件中传递搜索数据时遇到问题