路由
/*文章*/
Route::group(array('prefix'=>'article'),function(){
// 文章显示
Route::any('/lst', '\App\Http\Controllers\Admin\ArticleController@lst');
//文章添加页面
Route::any('/add', '\App\Http\Controllers\Admin\ArticleController@add');
//文章添加逻辑
Route::any('/store', '\App\Http\Controllers\Admin\ArticleController@store');
//图片上传
Route::any('/upload', '\App\Http\Controllers\Admin\CommonController@upload');
//文章修改页面
Route::any('/edit/{post}', '\App\Http\Controllers\Admin\ArticleController@edit');
//文章修改逻辑
Route::any('/update/{post}', '\App\Http\Controllers\Admin\ArticleController@update');
//文章删除
Route::any('/delete/{post}', '\App\Http\Controllers\Admin\ArticleController@delete');
});
控制器
<?php
namespace App\Http\Controllers\Admin;
use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;
use App\Http\Model\Articles;
use Illuminate\Support\Facades\Input;
use App\Http\Controllers\Controller;
class ArticleController extends CommonController
{
public function lst()
{
//通过模型查找数据
$data = Articles::orderBy('id','desc')->paginate(3);
return view('admin.article.lst',compact('data'));
}
//any.admin/user/add 添加文章页面
public function add()
{
//查找栏目
$cateres = DB::table('cates')->get();
return view('admin.article.add',compact('cateres'));
}
//添加文章逻辑
public function store()
{
$input = Input::except('_token');
$input['updated_at'] = time();
$input['time'] = time();
/*$title=\Request::input('title');
$author=\Request::input('author');
$content=\Request::input('art_content');
$updated_at=time();
$time=time();*/
/*$res=DB::table('articles')->insert(['title'=>$title,'author'=>$author,'art_content'=>$content,'updated_at'=>$updated_at,'time'=>$time]);*/
$res = Article::create($input);
if($res){
return redirect('admin/article/lst');
}else{
return back()->with('errors','文章添加失败,请稍后重试!');
}
}
// 修改文章页面
public function edit($id)
{
$field = Article::find($id);
//先查找
$cateres = DB::table('cates')->get();
return view('admin.article.edit',compact('cateres','field'));
}
//修改文章逻辑
public function update($id)
{
/*$title=\Request::input('title');
$author=\Request::input('author');
$content=\Request::input('art_content');
$data=[
'title'=>$title,
'author'=>$author,
'content'=>$content,
'updated_at'=>time(),
'time'=>time()
];*/
$input = Input::except('_token','_method');
$re = Article::where('id',$id)->update($input);
if($re){
return redirect('admin/article/lst');
}else{
return back()->with('errors','修改文章失败,请稍后重试!');
}
}
// 删除
public function delete($id)
{
$re = Article::where('id',$id)->delete();
if($re){
return redirect('admin/article/lst');
}else{
return back()->with('errors','删除文章失败,请稍后重试!');
}
}
}
模型
<?php
namespace App\Http\Model;
use Illuminate\Database\Eloquent\Model;
class Articles extends Model
{
//
//这个默认的是对应article数据表
protected $table='articles';
protected $primaryKey='id';
public $timestamps=false;
protected $guarded=[];
public function cate()
{
return $this->belongsTo('App\Http\Model\Cates', 'cateid', 'id');
}
}
视图
增
<form class="form-horizontal" role="form" action="{{url('admin/article/store')}}" method="post">
<input type="hidden" name="_token" value="<?php echo csrf_token(); ?>">
<div class="form-group">
<label for="username" class="col-sm-2 control-label no-padding-right">文章标题</label>
<div class="col-sm-6">
<input class="form-control" placeholder="" name="title" required="" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label no-padding-right">所属栏目</label>
<div class="col-sm-6">
<select name="cateid">
<option value="">请选择栏目</option>
@foreach ($cateres as $v)
<option value="{{$v->id}}">{{$v->catename}}</option>
@endforeach
</select>
</div>
</div>
<div class="form-group">
<label for="group_id" class="col-sm-2 control-label no-padding-right">文章作者</label>
<div class="col-sm-6">
<input class="form-control" placeholder="" name="author" required="" type="text">
</div>
</div>
<div class="form-group" style="margin-bottom: 200px;">
<label for="group_id" class="col-sm-2 control-label no-padding-right">文章内容</label>
<div class="col-sm-6">
<textarea id="newsEditor" name="art_content" ></textarea>
<style>
#newsEditor{
width:560px;
height:300px;
}
</style>
<script type="text/javascript">
UE.getEditor('newsEditor');
var content = UE.getPlainTxt();//content就是编辑器的带格式的内容
</script>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-default">保存信息</button>
</div>
</div>
</form>
改
<form class="form-horizontal" role="form" action="{{url('admin/article/update/'.$field->id)}}" method="post">
<input type="hidden" name="_token" value="<?php echo csrf_token(); ?>">
<div class="form-group">
<label for="username" class="col-sm-2 control-label no-padding-right">文章标题</label>
<div class="col-sm-6">
<input class="form-control" placeholder="" name="title" required="" type="text" value="{{$field->title}}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label no-padding-right">所属栏目</label>
<div class="col-sm-6">
<select name="cateid">
<option value="">请选择栏目</option>
@foreach ($cateres as $v)
<option @if($v->id == $field->cateid) selected="selected" @else @endif value="{{$v->id}}">{{$v->catename}}</option>
@endforeach
</select>
</div>
</div>
<div class="form-group">
<label for="group_id" class="col-sm-2 control-label no-padding-right">文章作者</label>
<div class="col-sm-6">
<input class="form-control" placeholder="" name="author" required="" type="text" value="{{$field->author}}">
</div>
</div>
{{--<div class="form-group">
<label for="group_id" class="col-sm-2 control-label no-padding-right">文章缩略图</label>
<div class="col-sm-6">
<input class="form-control" placeholder="" name="pic" required="" type="file" value="{{$field->art_thumb}}">
</div>
</div>--}}
<div class="form-group" style="margin-bottom: 200px;">
<label for="group_id" class="col-sm-2 control-label no-padding-right">文章内容</label>
<div class="col-sm-6">
<textarea id="newsEditor" name="art_content">{{$field->art_content}}</textarea>
<style>
#newsEditor{
width:560px;
height:300px;
}
</style>
<script type="text/javascript">
UE.getEditor('newsEditor');
var content = UE.getPlainTxt();//content就是编辑器的带格式的内容
</script>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-default">保存信息</button>
</div>
</div>
</form>
查
<div class="row">
<div class="col-lg-12 col-sm-12 col-xs-12">
<div class="widget">
<div class="widget-body">
<div class="flip-scroll">
<table class="table table-bordered table-hover">
<thead class="">
<tr>
<th class="text-center">ID</th>
<th class="text-center">所属栏目</th>
<th class="text-center">文章标题</th>
<th class="text-center">文章作者</th>
<th class="text-center">缩略图</th>
<th class="text-center">操作日期</th>
<th class="text-center">操作</th>
</tr>
</thead>
<tbody>
@foreach ($data as $v)
<tr>
<td align="center">{{$v->id }} </td>
<td align="center">{{$v->cate->catename}}</td>
<td align="center">{{$v->title}}</td>
<td align="center">{{$v->author}}</td>
<td align="center">{{$v->art_thumb}}</td>
<td align="center">{{date('Y-m-d H:i:s',$v->time)}}</td>
<td align="center">
<a href="{{url('admin/article/edit/'.$v->id.'')}}" class="btn btn-primary btn-sm shiny">
<i class="fa fa-edit"></i> 编辑
</a>
<a href="{{url('admin/article/delete/'.$v->id.'')}}" class="btn btn-primary btn-sm shiny">
<i class="fa fa-edit"></i> 删除
</a>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
<div>
</div>
{{ $data->links() }}
</div>
</div>
</div>
</div>