将数据从控制器传递到刀片视图 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 从控制器刀片文件中传递搜索数据时遇到问题

Laravel - 刀片视图不更新用户的数据库没有错误

如何在控制器传递变量(laravel)中使用刀片进行 foreach

将数据从控制器传递到 Laravel 中的视图

Laravel - 如何将数组提取到变量并在刀片中使用它们

如何将 vue 数据显示到 Laravel 刀片?