조회 : 721
<?php
namespace App\Http\Controllers;
use App\SimpleComment;use Illuminate\Http\Request;
class SimpleCommentController extends Controller{ /** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index() { return [ 'result'=>true, 'count' => SimpleComment::count(), 'simpleComments' => SimpleComment::lists(), ]; // return View('sc/index'); // } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { // } /** * Display the specified resource. * * @param \App\SimpleComment $simpleComment * @return \Illuminate\Http\Response */ public function show(SimpleComment $simpleComment) { // } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param \App\SimpleComment $simpleComment * @return \Illuminate\Http\Response */ public function update(Request $request, SimpleComment $simpleComment) { if(!$simpleComment->checkScPass($request->input('sc_pass'))){ return [ 'result'=>false, 'message'=>'Incorrect password', ]; } $simpleComment->update($request->all()); return $this->index();} /** * Remove the specified resource from storage. * * @param \App\SimpleComment $simpleComment * @return \Illuminate\Http\Response */ // $request 를 추가, 제어 역전으로 알아서 데이터를 전달 해 준다. public function destroy(Request $request, SimpleComment $simpleComment) { if(!$simpleComment->checkScPass($request->input('sc_pass'))){ return [ 'result'=>false, 'message'=>'Incorrect password', ]; } $simpleComment->delete(); return $this->index(); }}
Route::resource('sc', 'SimpleCommentController');Route::resource('simpleComment', 'SimpleCommentController');
Route::any('/sc','WebSimpleCommentController@index');
app\Http\Controllers\WebSimpleCommentController.php<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class WebSimpleCommentController extends Controller{ protected $title='SimpleComment'; public function index($value='') { return View('sc.lists',['title'=>$this->title]); }}
@extends('sc.master')
@section('title', $title)
@section('content') <h1>SimpleComment</h1> <div id="sc_app"> <ul class="list-group" v-for="sc in res.simpleComments"> <li class="list-group-item"> <form onsubmit="ajax_action.action(this);return false;" action="{{ route('simpleComment.update',':sc_id') }}"> {{ csrf_field() }} <input type="text" name="_method" disabled value="" /> <input type="text" name="sc_id" readonly v-model="sc.sc_id" /> <input type="password" name="sc_pass"/> <input type="text" name="sc_name" v-model="sc.sc_name" /> <input type="text" name="sc_comment" v-model="sc.sc_comment" /> <input disabled type="created_at" v-model="sc.created_at" /> <input disabled type="updated_at" v-model="sc.updated_at" /> <button onclick="this.form._method.value='PUT'">modify</button> <button onclick="this.form._method.value='DELETE'">delete</button>
</form> </li> </ul> </div> <script> window.Laravel = {!! json_encode([ 'csrfToken' => csrf_token(), ]) !!}; // vue.js의 app을 생성 var sc_app = new Vue({ el: '#sc_app', data: { res:{'result':null,message:'','count':0,'simpleComments':[]}, } }) $(function(){ ajax_action.lists(); }) var ajax_action = { "lists":function(){ var url = "{{ route('simpleComment.index') }}"; $.ajax({ url: url, type: 'GET', //GET dataType: 'json', //xml, json, script, jsonp, or html // data: post_data, }) .done(function(rData) { //통신 성공 시 호출 console.log("success"); if(!rData.result){ alert(rData.message) }else{ sc_app.res = rData; } }) .fail(function() { //통신 실패 시 호출 console.log("error"); }) .always(function() { //성공/실패 후 호출. console.log("complete"); }); }, "action":function(f){ var url = f.action.replace(":sc_id",f.sc_id.value); var post_data = $(f).serialize(); $.ajax({ url: url, type: f._method.value, //GET dataType: 'json', //xml, json, script, jsonp, or html data: post_data, }) .done(function(rData) { //통신 성공 시 호출 console.log("success"); if(!rData.result){ alert(rData.message) }else{ sc_app.res = rData; } }) .fail(function(e) { //통신 실패 시 호출 console.log(e); }) .always(function() { //성공/실패 후 호출. console.log("complete"); }); f._method.value = ''; } } </script>
<code style="white-space:pre"> API LISTS +--------+-----------+------------------+------------+------------------------------------------------------+------------+ | Domain | Method | URI | Name | Action | Middleware | +--------+-----------+------------------+------------+------------------------------------------------------+------------+ | | GET|HEAD | api/sc | sc.index | App\Http\Controllers\SimpleCommentController@index | api | | | POST | api/sc | sc.store | App\Http\Controllers\SimpleCommentController@store | api | | | GET|HEAD | api/sc/create | sc.create | App\Http\Controllers\SimpleCommentController@create | api | | | GET|HEAD | api/sc/{sc} | sc.show | App\Http\Controllers\SimpleCommentController@show | api | | | PUT|PATCH | api/sc/{sc} | sc.update | App\Http\Controllers\SimpleCommentController@update | api | | | DELETE | api/sc/{sc} | sc.destroy | App\Http\Controllers\SimpleCommentController@destroy | api | | | GET|HEAD | api/sc/{sc}/edit | sc.edit | App\Http\Controllers\SimpleCommentController@edit | api | +--------+-----------+------------------+------------+------------------------------------------------------+------------+ </code>@endsection
제목 | 작성자 | 날짜 |
---|---|---|
공대여자 | ||
공대여자 | ||
mins01 | ||
공대여자 | ||
공대여자 | ||
공대여자 | ||
공대여자 | ||
공대여자 | ||
공대여자 | ||
공대여자 | ||
공대여자 | ||
공대여자 | ||
공대여자 | ||
enable3d
1
|
공대여자 | |
공대여자 | ||
공대여자 | ||
공대여자 | ||
공대여자 |