Alrightyを定義していないので、私は私が見て訪問者のための私のプロジェクトをロードするページがあります。Laravel 5.4は、ルート[project.view]
@extends('layouts.master')
@section('title', 'Projects')
@section('content')
<div class="container">
<div class="contact-wrapper ">
<h1 class="text-center">Project overview</h1>
@foreach($projects as $project)
<div class="col-md-4 no-padding">
<div class="project-image col-md-12 no-padding">
<a href="{{ route('project.view', $project->id) }}">
<img src="{{ $project->image }}" class="col-md-12 image">
<p class="image-text">
{{ $project->title }}
</p>
</a>
</div>
</div>
@endforeach
</div>
</div>
@stop
をしかし、私は次のエラー得られます:
をRoute [project.view] not defined. (View: /home/vagrant/Code/test/resources/views/projects.blade.php)
<?php
Auth::routes();
Route::get('/', '[email protected]');
Route::group(['middleware' => ['web']], function() {
Route::resource('user', 'UserController', ['only' => ['index', 'show']]);
Route::resource('project', 'ProjectController', ['only' => ['index', 'show', 'view']]);
Route::resource('blog', 'BlogController', ['only' => ['index', 'show']]);
Route::resource('review', 'ReviewController', ['only' => ['index', 'show']]);
});
Route::group(['middleware' => ['auth']], function() {
Route::resource('user', 'UserController', ['only' => ['store', 'update', 'destroy', 'create', 'edit', 'search', 'cms']]);
Route::resource('project', 'ProjectController', ['only' => ['store', 'update', 'destroy', 'create', 'edit', 'search', 'cms']]);
Route::resource('blog', 'BlogController', ['only' => ['store', 'update', 'destroy', 'create', 'edit', 'search', 'cms']]);
Route::resource('review', 'ReviewController', ['only' => ['store', 'update', 'destroy','create', 'edit', 'search', 'cms']]);
Route::get('/home', '[email protected]');
});
以下のように私は私のweb.phpルートファイルに定義された、私のProjectController.phpに私がshoとしての機能を定義している間
public function view($id)
{
$projects = Project::findOrFail($id);
$users = User::all();
$userArray = [];
foreach ($users as $user) {
$userArray[$user->id] = $user->username;
}
return view('project.view', compact('projects', 'userArray'));
}
以下WN私は、リソースコントローラは、標準インデックス/表示/更新などなどの機能を処理する方法について読んしかし、どのように私はルート正しくこのことはProjectControllerからちょうど私の機能ますのでできましたか?
私は正しいフォルダにビューを持っており、私はそれらを正しく呼び出されていることを99%確信しています。ビューへのパスは次のとおりです。resources/views/project/view.blade.php
ありがとうございます!
あなたは正しいでしょうか、デフォルトのルートはlaravelが定義したルートです。 'show'、' store'などを意味します。あなたのケース 'view'のリソースコントローラにさらにメソッドを追加する必要があるときは、' Route :: get( 'project-view'、 'ProjectController @ビュー ') 'のようなものです。 –