亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

Laravel 5 框架入門(四)完結篇

2020-03-22 17:29:48
字體:
來源:轉載
供稿:網友
Page 和評論將使用 Eloquent 提供的“一對多關系”。最終,我們將得到一個個人博客系統的雛形,并布置一個大作業,供大家實戰練習。1. 初識 Eloquent
Laravel Eloquent ORM 是 Laravel 中非常重要的部分,也是 Laravel 能如此流行的原因之一。中文文檔在:1. http://laravel-china.org/docs/5.0/eloquent2. http://www.golaravel.com/laravel/docs/5.0/eloquent/在前面的教程中已經建立好的 learnlaravel5/app/Page.php 就是一個 Eloquent Model 類: php namespace App;use Illuminate/Database/Eloquent/Model;html' target='_blank'>class Page extends Model {若想進一步了解 Eloquent,推薦閱讀系列文章:深入理解 Laravel Eloquent2. 創建 Comment 模型
首先我們要新建一張表來存儲 Comment,命令行運行:
http://laravel-china.org/docs/5.0/eloquent#relationships4. 前臺提交功能
修改 Comment 模型: php namespace App;use Illuminate/Database/Eloquent/Model;class Comment extends Model { protected $fillable = ['nickname', 'email', 'website', 'content', 'page_id'];增加一行路由:'CommentsController@store');
運行以下命令創建 CommentsController 控制器:復制代碼 代碼如下:
php artisan make:controller CommentsController
修改 CommentsController: php namespace App/Http/Controllers;use App/Http/Requests;use App/Http/Controllers/Controller;use Illuminate/Http/Request;use Redirect, Input;use App/Comment;class CommentsController extends Controller { public function store() if (Comment::create(Input::all())) { return Redirect::back(); } else { return Redirect::back()- withInput()- withErrors('評論發表失??!');修改視圖 learnlaravel5/resources/views/pages/show.blade.php:@extends('_layouts.default')@section('content') a href="/" 返回首頁 /a /h4 h1 {{ $page- title }} /h1 div id="date" {{ $page- updated_at }} /div div id="content" {{ $page- body }} /div div id="comments" @if (count($errors) 0) div strong Whoops! /strong There were some problems with your input. br br @foreach ($errors- all() as $error) li {{ $error }} /li @endforeach /ul /div @endif div id="new" form action="{{ URL('comment/store') }}" method="POST" input type="hidden" name="_token" value="{{ csrf_token() }}" input type="hidden" name="page_id" value="{{ $page- id }}" div label Nickname /label input type="text" name="nickname" required="required" /div div label Email address /label input type="email" name="email" /div div label Home page /label input type="text" name="website" /div div label Content /label textarea name="content" id="newFormContent" rows="10" required="required" /textarea /div button type="submit" Submit /button /form /div script function reply(a) { var nickname = a.parentNode.parentNode.firstChild.nextSibling.getAttribute('data'); var textArea = document.getElementById('newFormContent'); textArea.innerHTML = '@'+nickname+' '; /script div @foreach ($page- hasManyComments as $comment) div div data="{{ $comment- nickname }}" @if ($comment- website) a href="{{ $comment- website }}" h3 {{ $comment- nickname }} /h3 @else h3 {{ $comment- nickname }} /h3 @endif h6 {{ $comment- created_at }} /h6 /div div {{ $comment- content }} /div div a href="#new" 回復 /a /div /div @endforeach /div /div @endsection前臺評論功能完成。查看效果:5. 后臺管理功能
修改基礎視圖 learnlaravel5/resources/views/app.blade.php 為: !DOCTYPE html html lang="en" head meta charset="utf-8" meta http-equiv="X-UA-Compatible" content="IE=edge" meta name="viewport" content="width=device-width, initial-scale=1" title Laravel /title link href="/css/app.css" rel="stylesheet" !-- Fonts -- link href='http://fonts.useso.com/css family=Roboto:400,300' rel='stylesheet' type='text/css' /head body nav div div button type="button" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" span Toggle Navigation /span span /span span /span span /span /button a href="#" Learn Laravel 5 /a /div div id="bs-example-navbar-collapse-1" li a href="/admin" 后臺首頁 /a /li /ul li a href="/admin/comments" 管理評論 /a /li /ul @if (Auth::guest()) li a href="/auth/login" Login /a /li li a href="/auth/register" Register /a /li @else a href="#" data-toggle="dropdown" role="button" aria-expanded="false" {{ Auth::user()- name }} span /span /a ul role="menu" li a href="/auth/logout" Logout /a /li /ul /li @endif /ul /div /div /nav @yield('content') !-- Scripts -- script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js" /script script src="http://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.1/js/bootstrap.min.js" /script /body /html 修改后臺路由組(增加了一行):Route::group(['prefix' = 'admin', 'namespace' = 'Admin', 'middleware' = 'auth'], function() Route::get('/', 'AdminHomeComtroller@index'); Route::resource('pages', 'PagesController'); Route::resource('comments', 'CommentsController');創建 Admin/CommentsController :復制代碼 代碼如下:
php artisan make:controller Admin/CommentsController
Admin/CommentsController 要有 查看所有、查看單個、POST更改、刪除四個接口: php namespace App/Http/Controllers/Admin;use App/Http/Requests;use App/Http/Controllers/Controller;use Illuminate/Http/Request;use App/Comment;use Redirect, Input;class CommentsController extends Controller { public function index() return view('admin.comments.index')- withComments(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 { return Redirect::back()- withInput()- withErrors('更新失??!'); public function destroy($id) $comment = Comment::find($id); $comment- delete(); return Redirect::to('admin/comments');接下來創建兩個視圖:learnlaravel5/resources/views/admin/comments/index.blade.php:@extends('app')@section('content') div div div div div 管理評論 /div div table th Content /th th User /th th Page /th th 編輯 /th th 刪除 /th /tr @foreach ($comments as $comment) {{ $comment- content }} /td @if ($comment- website) a href="{{ $comment- website }}" h4 {{ $comment- nickname }} /h4 @else h3 {{ $comment- nickname }} /h3 @endif {{ $comment- email }} /td a href="{{ URL('pages/'.$comment- page_id) }}" target="_blank" {{ App/Page::find($comment- page_id)- title }} /td a href="{{ URL('admin/comments/'.$comment- id.'/edit') }}" 編輯 /a /td form action="{{ URL('admin/comments/'.$comment- id) }}" method="POST" input name="_method" type="hidden" value="DELETE" input type="hidden" name="_token" value="{{ csrf_token() }}" button type="submit" 刪除 /button /form /td /tr @endforeach /table
form action="{{ URL('admin/comments/'.$comment- id) }}" method="POST" input name="_method" type="hidden" value="PUT" input type="hidden" name="_token" value="{{ csrf_token() }}" input type="hidden" name="page_id" value="{{ $comment- page_id }}" Nickname: input type="text" name="nickname" required="required" value="{{ $comment- nickname }}" Email: input type="text" name="email" required="required" value="{{ $comment- email }}" Website: input type="text" name="website" required="required" value="{{ $comment- website }}" Content: textarea name="content" rows="10" required="required" {{ $comment- content }} /textarea button 提交修改 /button /form /div /div /div /div /div @endsection后臺管理功能完成,查看效果:6. 大作業
依賴于 Page 的評論功能已經全部完成,個人博客系統雛形誕生。在本系列教程的最后,布置一個大作業:構建出 Article 的前后臺,并且加上 Article 與 Comment 的一對多關系,加入評論和評論管理功能。在做這個大作業的過程中,你將會反復地回頭去看前面的教程,反復地閱讀中文文檔,會仔細閱讀我的代碼,等你完成大作業的時候,Laravel 5 就真正入門啦~~以上所述就是本文的全部內容了,希望大家能夠喜歡。PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日本久久久久亚洲中字幕| 亚洲激情 国产| 亚洲夜晚福利在线观看| 亚洲自拍偷拍第一页| 国产精品入口免费视频一| 欧美在线观看网站| 亚洲欧美一区二区三区久久| 日韩av不卡电影| 国产精品久久久久久久久久99| 91在线播放国产| 黄色成人在线免费| 日韩成人黄色av| 97色在线视频| 国产精品www| 久久久91精品国产| 欧美亚洲日本黄色| 5278欧美一区二区三区| 久久九九免费视频| 国产精品视频久久久久| 狠狠久久亚洲欧美专区| 黄网站色欧美视频| 在线观看日韩www视频免费| 日韩精品在线观看一区二区| 91色在线视频| 欧美日韩国产精品一区二区不卡中文| 91po在线观看91精品国产性色| 久久99久久99精品免观看粉嫩| 亚洲bt天天射| 日韩女优人人人人射在线视频| 国产精品日韩欧美| 国产精品av电影| 色狠狠av一区二区三区香蕉蜜桃| 国产精品精品一区二区三区午夜版| 亚洲最大激情中文字幕| 久久久人成影片一区二区三区| 自拍亚洲一区欧美另类| 伦伦影院午夜日韩欧美限制| 川上优av一区二区线观看| 国产一区二区三区视频在线观看| 2019国产精品自在线拍国产不卡| 国产在线久久久| 国产精品嫩草影院久久久| 国产精品久久999| 97在线免费观看视频| 国产精品亚洲综合天堂夜夜| 51午夜精品视频| 欧美一级大片在线免费观看| 久久久久日韩精品久久久男男| 欧美日韩国产999| 国产一区二区香蕉| 欧美日韩亚洲一区二| 欧美激情日韩图片| 亚洲天堂免费观看| 亚洲japanese制服美女| 色琪琪综合男人的天堂aⅴ视频| 国产精品成人免费视频| 色偷偷av一区二区三区乱| 国产福利视频一区二区| 91精品国产高清久久久久久91| 中国china体内裑精亚洲片| 91极品女神在线| 久久久久一本一区二区青青蜜月| 成人精品一区二区三区电影免费| 亚洲在线免费视频| 91久久中文字幕| 韩国v欧美v日本v亚洲| 国产精品久久综合av爱欲tv| 日韩亚洲综合在线| 日韩精品在线视频观看| 国产视频在线观看一区二区| 久久最新资源网| 欧美国产激情18| 欧洲日本亚洲国产区| 国产99久久久欧美黑人| 日韩在线视频线视频免费网站| 国产欧美一区二区三区四区| 亚洲一级一级97网| 91成人性视频| 久久久久久久久久久91| 5278欧美一区二区三区| 欧美日韩在线免费观看| 不卡毛片在线看| 国产成人97精品免费看片| 亚洲中国色老太| 国产欧美日韩最新| 久久99视频精品| 国产欧美va欧美va香蕉在线| 国产精品视频资源| 亚洲香蕉av在线一区二区三区| 久久久在线免费观看| 精品久久久精品| 久久国产精品久久国产精品| 亚洲欧洲国产一区| 福利二区91精品bt7086| 中文日韩电影网站| 国产精品久久一区主播| 日韩免费看的电影电视剧大全| 正在播放国产一区| 蜜臀久久99精品久久久无需会员| 美女性感视频久久久| 国产精品久久久久久久9999| 久久久综合免费视频| 日本高清视频精品| 国产成人自拍视频在线观看| 福利视频导航一区| 欧美尺度大的性做爰视频| 久久视频在线直播| 欧美日韩美女在线观看| 成人av资源在线播放| 91视频九色网站| 国产精品自产拍高潮在线观看| 国产日韩av在线| 狠狠色狠色综合曰曰| 亚州欧美日韩中文视频| 亚洲一区av在线播放| 岛国av一区二区三区| 都市激情亚洲色图| 久久久久国产精品www| 亚洲已满18点击进入在线看片| 2019中文字幕在线| 欧美亚洲视频在线看网址| 国产69精品久久久久9| 日韩毛片在线观看| 亚洲剧情一区二区| 在线视频日韩精品| 欧美成人亚洲成人| 97在线视频国产| 国产国语刺激对白av不卡| 亚洲国产精品久久久久| 欧美国产日韩在线| 欧美性生交大片免费| 日韩精品在线观| 亚洲sss综合天堂久久| 色午夜这里只有精品| 欧美综合在线观看| 日韩成人在线视频| 亚洲国产第一页| 色偷偷av亚洲男人的天堂| 亚洲精选中文字幕| 裸体女人亚洲精品一区| 欧美成aaa人片在线观看蜜臀| 久久久久久久97| 91av在线免费观看视频| 久久精品99久久久久久久久| 国产精品久久久久久久一区探花| 韩国v欧美v日本v亚洲| 一区二区三区四区在线观看视频| 日韩免费观看视频| 国产精品激情av电影在线观看| 亚洲最大福利网站| 一区二区亚洲欧洲国产日韩| 91视频88av| 欧美一区视频在线| 国产精品午夜国产小视频| 国产亚洲精品一区二区| 国内精品美女av在线播放| 91色琪琪电影亚洲精品久久| 亚洲97在线观看| 久久综合88中文色鬼| 欧美理论片在线观看| 91国产精品电影| 欧亚精品在线观看| 欧美成人中文字幕在线| 伊人一区二区三区久久精品|