前提・実現したいこと
Laravel初心者です。現在Laravelを使ってコードを書いています。
web.phpをいじっていたらエラーが発生しました。
どのように解決すればいいのか御指南いただけないでしょうか?
宜しくお願い致します。
発生している問題・エラーメッセージ
InvalidArgumentException
Attribute [department] does not exist.
###該当のソースコード
web.php
<?php
Route::patch('/departments/{department}', 'DepartmentsController@update');
Route::delete('/departments/{department}', 'DepartmentsController@destroy');
Route::department('/departments/{department}', 'CommentsController@store');
Route::delete('/departments/{department}/comments/{comment}', 'CommentsController@destroy');
Route::patch('/departments/{department}', 'DepartmentsController@update');
Route::department('/departments', 'DepartmentsController@store');
Route::get('/departments/{department}/edit', 'DepartmentsController@edit');
Route::get('/departments/create', 'DepartmentsController@create');
// });
Route::get('/', 'DepartmentsController@index');
// Route::get('/Departments/{id}', 'DepartmentsController@show');
Route::get('/departments/{department}', 'DepartmentsController@show')->where("department", "[0-9]+");
Route::get('/contacts', 'ContactsController@index');
// Route::get('/Contacts/{id}', 'ContactsController@show');
Route::get('/Contacts/{contact}', 'ContactsController@show');
DepartmentsController.php
<?php
namespace App\Http\Controllers;
use Auth;
use Illuminate\Http\Request;
use App\Department;
use App\Image;
use App\Http\Requests\DepartmentRequest;
use Illuminate\Http\UploadedFile;
use Symfony\Component\HttpFoundation\File\UploadedFile as SymfonyUploadedFile;
class DepartmentsController extends Controller
{
public function index() {
// $departments = \App\Department::all();
// $departments = Department::all();
// $departments = Department::orderBy('created_at', 'desc')->get();
$departments = Department::latest()->get();
// $departments = [];
// dd($departments->toArray()); // dump die
// return view('departments.index', ['departments' => $departments]);
return view('departments.index')->with('departments', $departments);
}
// public function show($id) {
public function show(Department $department) {
// $department = Department::find($id);
// $department = Department::findOrFail($id);
// dump($department);
$department->load(['comments', 'mainImage']);
// dd($department);
return view('departments.show')->with('department', $department);
}
public function create() {
return view('departments.create');
}
public function store(DepartmentRequest $request) {
$department = new Department();
$department->title = $request->title;
$department->body = $request->body;
$department->user_id = Auth::id();
$department->save();
$this->updateImage($request, $department);
return redirect('/');
}
public function edit(Department $department) {
return view('departments.edit')->with('department', $department);
}
private function updateImage($request, $department)
{
if ($request->hasFile('main_image_filename')) {
if (!empty($image)) {
// imageの差し替え
$image->delete();
}
$image = new Image;
$image->storeDepartment($request->main_image_filename);
}
if (!empty($image)) {
$image->alt = $request->get('image_alt');
$image->department_id = $department->id;
$image->save();
$department->main_image_id = $image->id;
$department->save();
}
}
public function update(DepartmentRequest $request, Department $department) {
$department->title = $request->title;
$department->body = $request->body;
$department->user_id = Auth::id();
$department->save();
$this->updateImage($request, $department);
return redirect('/');
}
public function destroy(Department $department) {
$department->delete();
return redirect('/');
}
}
### 補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。