Сохраним запись в БД
со страницы http://blog.my/admin/post/create
Идем в
\resources\views\admin\post\post.blade.php
Укажем action
для формы сохранения
публикации.
<form role="form"
action="{{ route('post.store') }}" method="post">
{{ csrf_field() }}
..
</form>
Также создадим на
этой странице обработчик ошибок.
Страница целиком:
@extends('admin.layouts.app')
@section('main-content')
<div class="content-wrapper">
<!-- Content Header (Page
header) -->
<section class="content-header">
<h1>
Text Editors
<small>Advanced form
element</small>
</h1>
<ol class="breadcrumb">
<li><a href="#"><i
class="fa fa-dashboard"></i> Home</a></li>
<li><a
href="#">Forms</a></li>
<li
class="active">Editors</li>
</ol>
</section>
<!-- Main content -->
<section class="content">
<div class="row">
<div class="col-md-12">
<!-- general form elements
-->
<div class="box
box-primary">
<div class="box-header
with-border">
<h3
class="box-title">Titles</h3>
</div>
@if (count($errors) > 0)
@foreach
($errors->all() as $error)
<p class="alert
alert-danger">{{ $error }}</p>
@endforeach
@endif
<!-- /.box-header -->
<!-- form start -->
<form role="form"
action="{{ route('post.store') }}" method="post"
enctype="multipart/form-data">
{{ csrf_field() }}
<div class="box-body">
<div
class="col-lg-6">
<div
class="form-group">
<label
for="title">Post title</label>
<input
type="text" class="form-control" id="title"
name="title" placeholder="Title">
</div>
<div
class="form-group">
<label
for="subtitle">Post Sub Title</label>
<input
type="text" class="form-control" id="subtitle"
name="subtitle" placeholder="Sub Title">
</div>
<div
class="form-group">
<label
for="slug">Post Slug</label>
<input
type="text" class="form-control" id="slug"
name="slug" placeholder="Post Slug">
</div>
</div>
<div
class="col-lg-6">
<div
class="form-group">
<label
for="image">File input</label>
<input
type="file" name="image" id="image">
</div>
<br /><br
/>
<div
class="checkbox">
<label>
<input
type="checkbox" name="status"> Publish
</label>
</div>
</div>
</div>
<!-- /.box-body -->
<div class="box">
<div
class="box-header">
<h3
class="box-title">Write Post Body
<small>Simple
and fast</small>
</h3>
</div>
<!-- /.box-header
-->
<div class="box-body
pad">
<textarea
class="textarea" placeholder="Place some text here"
name="body"
style="width: 100%; height: 500px; font-size: 14px; line-height:
18px; border: 1px solid #dddddd; padding: 10px;"></textarea>
</div>
</div>
<div
class="box-footer">
<button
type="submit" class="btn btn-primary">Submit</button>
</div>
</form>
</div>
<!-- /.box -->
</div>
<!-- /.col-->
</div>
<!-- ./row -->
</section>
<!-- /.content -->
</div>
<!-- /.content-wrapper -->
@endsection
В БД нужно
выставить по умолчанию NULL для posted_by,
image, like,dislike. Также для статуса по умолчанию
поставить 0.
\app\Http\Controllers\Admin\PostController.php
<?php
namespace App\Http\Controllers\Admin;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Model\user\post; // подключаем
class PostController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
return view('admin.post.show');
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
return view('admin.post.post');
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$this->validate($request, [
'title'=>'required',
'subtitle'=>'required',
'slug'=>'required',
'body'=>'required'
]);
$post = new post;
$post->title = $request->title;
$post->subtitle = $request->subtitle;
$post->slug = $request->slug;
$post->body = $request->body;
$post->save();
return redirect(route('post.index')); // http://blog.my/admin/post
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
//
}
}
namespace App\Http\Controllers\Admin;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Model\user\post; // подключаем
class PostController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
return view('admin.post.show');
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
return view('admin.post.post');
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$this->validate($request, [
'title'=>'required',
'subtitle'=>'required',
'slug'=>'required',
'body'=>'required'
]);
$post = new post;
$post->title = $request->title;
$post->subtitle = $request->subtitle;
$post->slug = $request->slug;
$post->body = $request->body;
$post->save();
return redirect(route('post.index')); // http://blog.my/admin/post
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
//
}
}
Комментариев нет:
Отправить комментарий