表名:3ls_school;
控制器名 :SchoolController.php
模型层:School.php
工厂:SchoolRepository.php
第一步:建立学校工厂在/core/Repositories里面建SchoolRepository.php
内容为:
<?php
namespace Core\Repositories;
use Core\Models\School;
use Core\Repositories\SchoolRepository;
class SchoolRepository extends EloquentRepository
{
public function __construct(School $model)
{
parent::__construct($model);
}
//add
public function save($data)
{
$this->model->setRawAttributes($data);
if ($this->model->save()) {
return true;
} else{
return false;
}
}
//select
public function getList($perPage = 10, $where=[], $trash=0)
{
$query = $this->model->whereNested(function ($q) use ($where) {
foreach ($where as $key => $value) {
$q->where($value[0], $value[1], $value[2]);
}
});
if ( $trash == 1 ){
$query->onlyTrashed();
}
return $query->orderBy('id', 'ASC')->paginate($perPage);
}
//删除
public function delete($id)
{
return $this->model->find($id)->delete();
}
/**
* Find a single entity
*
* composite primary key array
* - MemberOption::scopeCompositeKey
*
* @param $id
* @param array $with
* @return Illuminate\Database\Eloquent\Model
*/
//查询单条信息
public function find($id, array $with = [])
{
$entity = $this->make($with);
if (is_array($id)) {
$model = $entity->compositeKey($id)->first();
} else {
$model = $this->model->find($id);
}
return $model;
}
public function findByField($field, $value, $columns = ['*'])
{
return $this->model->where($field, '=', $value)->first($columns);
}
/**
* 根据条件查询单条记录
* @param array $filters [description]
* @param array $columns [description]
* @return [type] [description]
*/
public function findWhere($filters = [], $columns = ['*'])
{
return $this->model->whereNested(function ($query) use ($filters) {
foreach ($filters as $key => $value) {
$query->where($value[0], $value[1], $value[2]);
}
})->first($columns);
}
//修改学校信息
public function update($id, array $input)
{
return $this->model->where('id', '=', $id)->update($input);
}
//统计个数
public function count(array $where = [])
{
return $this->model->whereNested(function ($query) use ($where) {
foreach ($where as $field => $value) {
if (is_array($value)) {
list($condition, $val) = $value;
$query->where($field, $condition, $val);
} else {
$query->where($field, '=', $value);
}
}
})->count();
}
}
第二步:建立模型层在在/core/Models里面建School.php
内容为:
<?php
namespace Core\Models;
use Illuminate\Database\Eloquent\Model;
class School extends Model
{
protected $table = '3ls_school';
public $timestamps = false;
}
第三步:建立模型层在在/app/Http/Controllers/里面建SchoolController.php
内容为:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Core\Repositories\SchoolRepository;
class SchoolController extends BackendController
{
private $schools;
public function __construct(SchoolRepository $schools)
{
parent::__construct();
$this->schools = $schools;
}
//学校列表
public function index(Request $request)
{
$where=[];
//判断是否接过学段值
if ($request->get("period")!="") {
$where[] = ['3ls_school.period', '=', $request->get("period")];
}
//判断是否接过性质值
if ($request->get("snature")!="") {
$where[] = ['3ls_school.snature', '=', $request->get("snature")];
}
//判断是否接过等级值
if ($request->get("slevel")!="") {
$where[] = ['3ls_school.slevel', '=', $request->get("slevel")];
}
//判断所选择的是省份还是市级
$area=$request->get("area");
if ($area!="") {
if ($area=="province") {
$where[] = ['3ls_school.province', '=', $request->get("search")];
}else{
$where[] = ['3ls_school.city', '=', $request->get("search")];
}
}
//dd($where);
if (!empty($where)) {//带有搜索条件的查询
$perpage = $request->input('perpage', 10);
$this->_view['lists'] = $this->schools->getList($perpage,$where);//所查询的结果集
//dd(\DB::getQuerylog());
$this->_view['perpage'] = $perpage;//每页显示条数
}else{
$perpage = $request->input('perpage', 10);
$this->_view['lists'] = $this->schools->getList($perpage);//所查询的结果集
$this->_view['perpage'] = $perpage;//每页显示条数
}
return view('school.index', $this->_view);
}
//学校添加表单页面
public function create()
{
return view('school.create', $this->_view);
}
//添加学校
public function store(Request $request)
{
$data['name'] = $request->input('name');
$data['province'] = $request->input('s_province');
$data['city'] = $request->input('s_city');
$data['town'] = $request->input('s_county');
$data['period'] = $request->input('period');
$data['snature'] = $request->input('snature');
$data['slevel'] = $request->input('slevel');
$data['sadmin'] = $request->input('sadmin');
$data['sphone'] = $request->input('sphone');
$data['surl'] = $request->input('surl');
$data['desc'] = $request->input('desc');
//https://segmentfault.com/q/1010000004923615
if ($request->hasFile('img')) {
foreach ($request->file('img') as $file)
{
$file->move(base_path().'/public/uploads/', $file->getClientOriginalName());
}
}
$data['img']='/public/uploads/'.$file->getClientOriginalName();
$this->schools->save($data);
return redirect()->route('school.index');
}
//删除学校
public function destroy($id)
{
$this->schools->find($id)->delete();
return redirect('/school/');
}
//获取单条学校的信息
public function edit($id)
{
$this->_view['school']=$this->schools->find($id);
return view('school.edit', $this->_view);
}
//修改单条学校的信息
public function update(Request $request, $id)
{
$act['name'] = $request->input('name');
$act['province'] = $request->input('s_province');
$act['city'] = $request->input('s_city');
$act['town'] = $request->input('s_county');
$act['period'] = $request->input('period');
$act['snature'] = $request->input('snature');
$act['slevel'] = $request->input('slevel');
$act['sadmin'] = $request->input('sadmin');
$act['sphone'] = $request->input('sphone');
$act['surl'] = $request->input('surl');
$act['desc'] = $request->input('desc');
if ($request->hasFile('img')){
foreach ($request->file('img') as $file)
{
$file->move(base_path().'/public/uploads/', $file->getClientOriginalName());
}
}
$act['img']='/public/uploads/'.$file->getClientOriginalName();
$this->schools->update($id,$act);
return redirect()->route('school.index');
}
}
第四步:views视图层school目录里面的文件有form.blade.php index.blade.php create.blade.php edit.blade.php.
form.blade.php内容为:
@extends('layouts.default')
@section('page_styles')
{!! HTML::style('assets/ace/css/datepicker.min.css') !!}
{!! HTML::style('assets/ace/css/daterangepicker.min.css') !!}
{!! HTML::style('assets/ace/css/bootstrap-duallistbox.min.css') !!}
@stop
@section('content')
@yield('form')
@section('pageplugins')
{!! HTML::script('/js/area.js') !!}
{!! HTML::script('/assets/ace/js/bootstrap-datepicker.min.js') !!}
{!! HTML::script('/assets/ace/js/bootstrap-datepicker.zh-CN.js') !!}
{!! HTML::script('/assets/ace/js/daterangepicker.min.js') !!}
{!! HTML::script('/assets/kindeditor/kindeditor-min.js') !!}
{!! HTML::script('/assets/kindeditor/lang/zh_CN.js?v=1') !!}
{!! HTML::script('/assets/ace/js/jquery.validate.min.js') !!}
{!! HTML::script('/assets/common/js/jquery.validate.method.js') !!}
@stop
@section('pagescripts')
{!! HTML::script('assets/ace/pages/product.js?v=8') !!}
index.blade.php
内容为:
@extends('layouts.pagelist')
@section('breadcrumb')
@section('search')
@section('tbl_head')
@section('tbl_body')
@foreach($lists as $item)
@section('pagescripts')
create.blade.php
内容为:
@extends('school.form')
@section('breadcrumb')
@section('form')
{!! Form::open(['route' => 'school.store', 'method' => 'post', 'class' => 'form-horizontal' , 'files' => true, 'id'=>'main-form' ]) !!}
@stop
edit.blade.php
内容为:
@extends('school.form')
@section('breadcrumb')
@section('form')
{!! Form::model($school, [
'route' => ['school.update', $school->id],
'method' => 'PUT',
'class' => 'form-horizontal' ,
'files' => true,
'id'=>'main-form'
])
!!}
@stop
第五步:
routes里面route.php 配置信息:
<?php
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Auth::routes();
Route::get('secureimage', 'HomeController@secureimage');
Route::group(['middleware' => 'isAdmin'], function () {
Route::get('/', ['as' => 'dashboard', 'uses' => 'HomeController@index']);
Route::get('logout', 'Auth\LoginController@logout')->name('logout');
Route::resource('setting', 'SettingController');
Route::resource('lecture', 'LectureController');
Route::get('admin/trash', 'AdminController@getTrash')->name('admin.trash');
Route::resource('admin', 'AdminController');
Route::resource('permissions', 'PermissionsController');
Route::resource('roles', 'RoleController');
Route::resource('vote', 'VoteController');
Route::resource('setting', 'SettingController');
Route::resource('user', 'UserController');
Route::resource('live', 'LiveController');
Route::resource('school', 'SchoolController');
});
手机扫一扫
移动阅读更方便
你可能感兴趣的文章