이 글은 주로 Laravel5 프레임워크의 하위 뷰 사용법과 양식 재사용을 소개합니다. 매우 상세하고 포괄적이므로 Laravel5 프레임워크를 익히는 데 매우 도움이 됩니다. 기사에 대한 질문 편집에 관한 질문입니다. 물론 다음과 같이 새 경로를 수동으로 추가할 수 있습니다.
Route::get('/articles/{id}/edit', 'ArticleController@edit');
명령줄에서 artisan의 경로:목록을 사용하여 현재 경로를 확인합니다.
php artisan route:list
RESTful 준수의 경우 laravel을 직접 사용할 수 있습니다. 라우팅은 좋은 선택이지만 모든 경로를 제거하고 하나만 추가하겠습니다.
Route::resource('articles', 'ArticlesController');
php artisan Route:list를 다시 사용하여 경로를 확인하세요. 와, 우리 기대에 맞는 경로가 많이 생성되었습니다. 각 항목을 주의 깊게 살펴보세요. 질문 반복해야합니까? 이 문제는 나중에 다루겠습니다. 이제 양식 제출 문제를 살펴보겠습니다. php artisan Route:list 경로에서 다시 살펴보세요. 수정은 PATCH 메서드를 사용합니다. 보기를 수정해 보겠습니다.
public function edit($id) { $article = Article::findOrFail($id); return view('articles.edit', compact('article')); }
브라우저에서 /articles/1/edit를 방문하여 소스 코드를 확인하고 laravel이 자동으로 생성된 것을 찾으세요. method=PATCH의 숨겨진 필드입니다.
첫 번째 문제는 기사를 편집했지만 기사의 정보가 표시되지 않는다는 것입니다. 보기를 수정해 보겠습니다.
@extends('layout') @section('content') <h1>Edit: {!! $article->title !!} </h1> <hr/> ...
좋아, 게시된_on 필드가 여전히 현재 날짜로 설정되어 있다는 점만 빼면 괜찮습니다. 나중에 처리하세요.
이제 컨트롤러에 메소드를 추가하세요.
{!! Form::open(['method' => 'PATCH', 'url' => 'articles/' . $article->id]) !!}
또한 Request 클래스를 재사용하고 CreateArticleRequest의 이름을 보다 일반적인 ArticleRequest로 바꾸도록 하겠습니다. 메소드의 매개변수.
{!! Form::model($article, ['method' => 'PATCH', 'url' => 'articles/' . $article->id]) !!}
이제 남은 문제는 새로운 코드와 편집 코드가 표시 오류 등 대부분 동일한 코드를 사용하지만 복사본이 두 개 있다는 점입니다. 이 문제를 해결해 보겠습니다.
view/articles 바로 아래에 새 파일 list.blade.php를 만들고 create.blade.php에서 오류 처리 코드를 복사합니다.
public function update($id, \Illuminate\Http\Request $request) { $article = Article::findOrFail($id); $article->update($request->all()); return redirect('articles'); }
create.blade.php에서 다음 문을 사용하세요. 오류 처리 코드 교체:
public function update($id, Requests\ArticleRequest $request) { $article = Article::findOrFail($id); $article->update($request->all()); return redirect('articles'); }
양식 코드를 다시 다루겠습니다. 양식이 다르고 제출 버튼이 다르다는 점만 제외하면 양식 코드가 거의 동일합니다. 기사/form_partial.blade.php 보기를 만들고 코드를 복사합니다.
@if ($errors->any()) <ul class="alert alert-danger"> @foreach($errors->all() as $error) <li>{{ $error }}</li> @endforeach </ul> @endif
수정 create.blade.php
@include('articles.list')
수정 edit.blade.php
<p class="form-group"> {!! Form::label('title', 'Title:') !!} {!! Form::text('title', null, ['class' => 'form-control']) !!} </p> <p class="form-group"> {!! Form::label('body', 'Body:') !!} {!! Form::textarea('body', null, ['class' => 'form-control']) !!} </p> <p class="form-group"> {!! Form::label('published_at', 'Publish On:') !!} {!! Form::input('date', 'published_at', date('Y-m-d'), ['class' => 'form-control']) !!} </p> <p class="form-group"> {{--这里要设置变量,依据是编辑还是修改来改变,当然也可以不放置在partial中--}} {!! Form::submit($submitButtonText, ['class' => 'btn btn-primary form-control']) !!} </p>
은 위의 것입니다. 이 글의 전체 내용이 모든 분들의 학습에 도움이 되기를 바랍니다. 더 많은 관련 내용을 보시려면 PHP 중국어 웹사이트를 주목해주세요!
관련 권장 사항:
Laravel 4의 페이지 및 양식 유효성 검사Laravel 프레임워크 데이터베이스의 CURD 작업 및 일관된 작업 분석 정보
PHP 프레임워크를 사용하여 사용자 정의 페이징을 구현하는 방법 정보 Laravel 플러그인 페이지 매김위 내용은 Laravel5 프레임워크의 하위 뷰 및 양식 재사용 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!