Laravel版本5.2
我的控制器文件:
<?php
namespace App\Http\Controllers;
use App\questions;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use App\Http\Requests;
class Dashboard extends Controller
{
public function __construct()
{
$this->middleware('auth');
}
public function fetchQuestions() {
//
}
public function index(){
$listQuestions=Auth::user()->questions()->pluck('question')->all();
//dd($listQuestions);
return view('forms.question',compact('listQuestions'));
}
}
我的观点文件
<ul>
@foreach ($listQuestions as $q)
<li>{{ $q }}</li>
@endforeach
</ul>
$ listQuestions没有传递给视图。 但是从dd($ listQuestions)来看&amp;控制器文件,我明白了
array:2 [▼
0 => "some question"
1 => "another question"
]
显示空视图页面,没有错误或输出 我在这里错过了什么?
答案 0 :(得分:0)
pluck()
方法按键检索值。你想要一个集合:
$listQuestions = Auth::user()->questions()->get();
$q
是一个对象,因此您需要获取一个属性,即question
:
@foreach ($listQuestions as $q)
<li>{{ $q->question }}</li>
@endforeach
答案 1 :(得分:0)
您也可以将变量传递给像这样的视图
return view('forms.question')
->with('listQuestions' , $listQuestions)
现在我相信你只是将字符串'listQuestions'传递给视图,所以它不能迭代它。因此空视图。
答案 2 :(得分:-1)
更改您的
return view('forms.question',compact('listQuestions'));
要
return view('forms.question',['listQuestions'=> $listQuestions]);
那应该有用