未定义变量:films(视图:C:\xampp2\htdocs\laravel5\resources\views\create.blade.php)

未定义变量:films(视图:C:\xampp2\htdocs\laravel5\resources\views\create.blade.php),laravel,laravel-5,Laravel,Laravel 5,我从拉威尔的领域开始, 我查不到我的表格,你能帮我吗 控制器 namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Sex; use App\Film; use App\Personnage; class CreateController extends Controller { public function index() { $films = Film::all(); retur

我从拉威尔的领域开始, 我查不到我的表格,你能帮我吗

控制器
namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Sex;
use App\Film;
use App\Personnage;

class CreateController extends Controller
{
  public function index()
  {
    $films = Film::all();
    return View('create', compact('films'));
  }
}
观点

<div class="form-group">
          <label class="control-label">Film</label>
          <select multiple name="film[]" type="select" value="['multipe' => true]"  class="form-control">
            @foreach ($films as $value)
            <option value="{{{$value->id}}}">{{{$film->film}}}</option>
            @endforeach
          </select>
        </div>

感谢您的帮助

您的视图中可能有一个名为
film
的未定义变量

您正在将
$films迭代为$value
。。然后尝试在该循环中使用
$film->film
。我想你想要
$value->film

把下面的代码放进去

$films = Film::all();
return View('create',['films'=>$films]);
上述代码将适用于您的刀片代码,如下所示

@foreach ($films as $value)
<option value="{{{$value->id}}}">{{{$value->film}}}</option>
@foreach($value)
{{{$value->film}}

假设您的路由和控制器都是正确的。

路由列表中没有
CreateController
,因此我猜您只是在执行其他方法,而不是
CreateController@index
你的意思是“未定义变量
film
”不是
films
?是的,就是这样,我真的没有看到,谢谢:)@MartyHemart什么是“它”?:)路由::get('/create',PersoController@create');qu'ilétait nécessaire de changer->Route::get('/create','CreateController@index')<代码>视图('create',compact('films'))与
视图('create',['films'=>$films])
在这种情况下是一样的,如果是这样,那么不需要这个答案,并不是在所有情况下都会删除,但在这种情况下,它与定义的
$films
相同,因此
compact
将把它拉进来。。如果未定义
$films
,则压缩将跳过它,并传递一个空数组,这将是不同的。。。在使用
compact
np.时,可能需要注意一些东西。。你也在纠正这个循环,这实际上是错误的来源,所以我不会删除这个:)让我们。
namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Sex;
use App\Film;
use App\Personnage;

class CreateController extends Controller
{
  public function index()
  {
    $films = Film::all();
    return View('create', compact('films'));
  }
}