Рубрики
Uncategorized

Серия вводных уроков Laravel 5 (4) [[Учебные пособия по уровням, наиболее подходящие для китайцев] [Конец]

Автор оригинала: David Wong.

Оригинальная статья была опубликована на моем личном сайте: Серия вводных руководств Laravel 5 (4) [ Наиболее подходящий для китайских народных уроков по Laravel]

См.: https://github.com/johnlui/Learn-Laravel-5 для примера кода для этого урока

Все застревают где угодно. Самое быстрое решение-посмотреть мой пример кода.

На этом заканчивается эта серия учебных пособий. Вместе мы добавим комментарии на Страницу, чтобы посетители могли просматривать, отправлять и отвечать на комментарии на главной странице. В то же время мы улучшим функцию управления комментариями в фоновом режиме, которые можно удалять и редактировать. Страница и комментарии будут использовать соотношение “один ко многим”, предоставленное Eloquent. В конечном счете, мы получим прототип системы личного блога и назначим вам большое домашнее задание для практики в реальном бою.

1. Первое знакомство с Красноречивым

Laravel Красноречивый ORM является очень важной частью Laravel и одной из причин, по которой Laravel так популярен. Китайские документы в:

  1. http://|/laravel -china.org/docs/5.0/eloquent http://|/laravel
  2. -china.org/docs/5.0/eloquent

Изучите laravel 5/приложение/Страница. php-это красноречивый класс моделей, который был создан в предыдущем уроке:

php

Для дальнейшего понимания Eloquent я рекомендую прочитать серию статей: Глубокое понимание Laravel Eloquent.

2. Создание Модели Комментариев

Во-первых, нам нужно создать новую таблицу для хранения комментариев, которая запускается в командной строке.

bashphp artisan make:model Comment

После успешного завершения, соответствующее расположение файла миграции learnlaravel5/база данных/миграции/***_create_comments_table.php изменяется следующим образом:

phpSchema::create('comments', function(Blueprint $table)
{
    $table->increments('id');
    $table->string('nickname');
    $table->string('email')->nullable();
    $table->string('website')->nullable();
    $table->text('content')->nullable();
    $table->integer('page_id');
    $table->timestamps();
});

Тогда беги:

bashphp artisan migrate

Загляните в базу данных. Таблица комментариев лежит там.

3. Установление отношений “один ко многим”

Измените модель страницы:

phphasMany('App\Comment', 'page_id', 'id');
  }

}

Вот как просто разобраться в отношениях между моделями в красноречивом.

Китайские документы для Межмодельных отношений: http://laravel-China.org/docs/5.0/eloquent#relationships

Расширенное чтение: Глубокое понимание Laravel Eloquent (3) – Взаимосвязи между моделями (Ассоциации)

4. Функция подачи документов на стойке регистрации

Изменить Модель Комментариев:

php

Добавьте одну строку маршрутизации:

phpRoute::post('comment/store', '[email protected]');

Выполните следующую команду, чтобы создать контроллер CommentsController:

phpphp artisan make:controller CommentsController

Изменить контроллер Комментариев:

php withInput () - > withErrors ('Comments failed! ).
        }

    }

}

Измените представление learnlaravel5/resources/views/pages/show.blade.php:

php@extends('_layouts.default')

@section('content')


Return to Home Page

{{ $page->title }}


{{ $page->updated_at }}

{{ $page->body }}

@if (count($errors) > 0)
Whoops! There were some problems with your input.

    @foreach ($errors->all() as $error)
  • {{ $error }}
  • @endforeach
@endif
@foreach ($page->hasManyComments as $comment)
@if ($comment->website)

{{ $comment->nickname }}

@else

{{ $comment->nickname }}

@endif
{{ $comment->created_at }}

{{ $comment->content }}

@endforeach
@endsection

Функция комментариев на стойке регистрации завершена.

Просмотр эффекта:

5. Функция фонового управления

Измените базовый вид learnlaravel5/resources/views/app.blade.php следующим образом:

php



    
    
    
    Laravel

    

    
  


    

    @yield('content')

    
    
    

Измените фоновую группу маршрутизации (добавьте строку):

phpRoute::group(['prefix' => 'admin', 'namespace' => 'Admin', 'middleware' => 'auth'], function()
{
  Route::get('/', '[email protected]');
  Route::resource('pages', 'PagesController');
  Route::resource('comments', 'CommentsController');
});

Создать Контроллер комментариев Администратора:

bashphp artisan make:controller Admin/CommentsController

Контроллер администратора/комментариев имеет четыре интерфейса для просмотра всех, отдельных, публикации изменений и удаления:

phpwithComments(Comment::all());
    }

    public function edit($id)
    {
        return view('admin.comments.edit')->withComment(Comment::find($id));
    }

    public function update(Request $request, $id)
    {
        $this->validate($request, [
            'nickname' => 'required',
            'content' => 'required',
        ]);
        if (Comment::where('id', $id)->update(Input::except(['_method', '_token']))) {
            return Redirect::to('admin/comments');
        } else {
            Redirect:: back () - > withInput () - > withErrors ('Update failed! ).
        }
    }

    public function destroy($id)
    {
        $comment = Comment::find($id);
        $comment->delete();

        return Redirect::to('admin/comments');
    }

}

Затем создайте два представления:

learnlaravel5/resources/views/admin/comments/index.blade.php:

php@extends('app')

@section('content')


management review
@foreach ($comments as $comment) @endforeach
Content User Page edit Delete
{{ $comment->content }} @if ($comment->website)

{{ $comment->nickname }}

@else

{{ $comment->nickname }}

@endif {{ $comment->email }}
{{ App\Page::find($comment->page_id)->title }} edit
@endsection

learnlaravel5/resources/views/admin/comments/edit.blade.php:

php@extends('app')

@section('content')


editorial comments
@if (count($errors) > 0)
Whoops! There were some problems with your input.

    @foreach ($errors->all() as $error)
  • {{ $error }}
  • @endforeach
@endif
Nickname:
Email:
Website:
Content:
@endsection

Функция управления фоном завершена для проверки эффекта:

6. основные задания

Функция комментариев, основанная на Странице, была завершена, и родился прототип системы личного блога. В конце этой серии назначьте большое задание: Создайте передний план и фон статьи, добавьте взаимосвязь “один ко многим” между статьей и вычислениями, а также добавьте функции комментариев и управления комментариями. 。 В процессе выполнения этого важного задания вы будете неоднократно возвращаться к предыдущему учебнику, неоднократно читать китайские документы и внимательно читать мой код. Когда вы закончите большое задание, Laravel 5 действительно начнет работу.~~

Учебное пособие (4) Снимок кода: https://github.com/johnlui/Learn-Laravel-5/archive/tutorial_4.zip

Это конец серии вводных уроков Laravel 5, которые больше всего подходят для китайцев. Спасибо!

Оригинал: “https://developpaper.com/laravel-5-series-of-introductory-tutorials-4-lavel-tutorials-most-suitable-for-chinese-people-end/”