首页 >

Laravel 5 框架入门(四)完结篇

php教程|php手册Laravel 5 框架入门(四)完结篇
php框架laravel,laravel入门教程
php教程-php手册
代理网站源码,vscode如何快速换行,gdb下载 ubuntu,tomcat怎么快速发布,邮箱 爬虫,php 打开xml,seo优化需要检测什么,css免费静态网站模板下载,蓝科 模板lzw
本文是本系列教学的完结篇,我们将一起给 Page 加入评论功能,让游客在前台页面可以查看、提交、回复评论,同时我们将在后台完善评论管理功能,可以删除、编辑评
商城软件源码,腾讯云上vscode,ubuntu 禁用键盘,tomcat批处理乱码,珠峰爬虫,php 水印平铺,下城区seo优化方案,免费开源网站模板,微信公众号免费模板下载安装lzw
微信红包 php源码,vscode和vi,ubuntu各个目录作用,tomcat启用apr,adb进入sqlite,ecshop仿京东分类树效果插件,ssm配什么前端框架,爬虫UVB数值,<<运算符 php,SEO教学理念,韩国女装网站源码,进网页菜单栏自动隐藏,帝国cms模板淘客,手机端表单提交页面源码,幼儿园管理系统 源码,处方程序 源码lzw

Page 和评论将使用 Eloquent 提供的“一对多关系”。最终,我们将得到一个个人博客系统的雏形,并布置一个大作业,供大家实战练习。

1. 初识 Eloquent

Laravel Eloquent ORM 是 Laravel 中非常重要的部分,也是 Laravel 能如此流行的原因之一。中文文档在:

1.

2.

在前面的教学中已经建立好的 learnlaravel5/app/Page.php 就是一个 Eloquent Model 类:

<?php namespace App;use Illuminate\Database\Eloquent\Model;class Page extends Model {//}

若想进一步了解 Eloquent,推荐阅读系列文章:深入理解 Laravel Eloquent

2. 创建 Comment 模型

首先我们要新建一张表来存储 Comment,命令行运行:

复制代码 代码如下:

php artisan make:model Comment

成功以后,修改 migration 文件 learnlaravel5/database/migrations/***_create_comments_table.php 的相应位置为:

Schema::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();
});

之后运行:

复制代码 代码如下:

php artisan migrate

去数据库里瞧瞧,,comments 表已经躺在那儿啦。

3. 建立“一对多关系”

修改 Page 模型:

hasMany(‘App\Comment’, ‘page_id’, ‘id’);
}

}

搞定啦~ Eloquent 中模型间关系就是这么简单。

模型间关系中文文档:

4. 前台提交功能

修改 Comment 模型:

<?php namespace App;use Illuminate\Database\Eloquent\Model;class Comment extends Model {protected $fillable = ['nickname', 'email', 'website', 'content', 'page_id'];}

增加一行路由:

复制代码 代码如下:

Route::post(‘comment/store’, ‘CommentsController@store’);

运行以下命令创建 CommentsController 控制器:

复制代码 代码如下:

php artisan make:controller CommentsController

修改 CommentsController:

withInput()->withErrors(‘评论发表失败!’);
}
}

}

修改视图 learnlaravel5/resources/views/pages/show.blade.php:

@extends(‘_layouts.default’)

@section(‘content’)

⬅️返回首页

{{ $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


id }}”>






function reply(a) { var nickname = a.parentNode.parentNode.firstChild.nextSibling.getAttribute(‘data’); var textArea = document.getElementById(‘newFormContent’); textArea.innerHTML = ‘@’+nickname+’ ‘;}

@foreach ($page->hasManyComments as $comment)

nickname }}”>
@if ($comment->website)
website }}”>

{{ $comment->nickname }}

@else

{{ $comment->nickname }}

@endif

{{ $comment->created_at }}

{{ $comment->content }}

回复
@endforeach

@endsection

前台评论功能完成。

查看效果:

Laravel 5 框架入门(四)完结篇

Laravel 5 框架入门(四)完结篇

5. 后台管理功能

修改基础视图 learnlaravel5/resources/views/app.blade.php 为:


Laravel 5 框架入门(四)完结篇
  • Laravel 5框架学习之环境与配置【PHP】
  • Laravel 5框架学习之环境与配置【PHP】 | Laravel 5框架学习之环境与配置【PHP】 ...

    Laravel 5 框架入门(四)完结篇
  • PHP框架Laravel学习心得体会
  • PHP框架Laravel学习心得体会 | PHP框架Laravel学习心得体会 ...

    Laravel 5 框架入门(四)完结篇
  • Laravel 5 框架入门(一)
  • Laravel 5 框架入门(一) | Laravel 5 框架入门(一) ...