ORM映射数据库,操作与表相关的操作,也就是增删改查。在这里,为大家写一个简单的单表操作:
ORM类Flight.php:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Flight extends Model
{
/**
* 关联到模型的数据表
*
* @var string
*/
//指定表名
protected $table = 'flights';
//指定主键
protected $primaryKey = 'id';
//时间变成fales 可以开启true
public $timestamps=false;
}
在定义VoteController.php控制器新增:
<?php
namespace App\Http\Controllers\vote;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use App\Flight;
use App\Model\Privilege;
use Session;
class VoteController extends Controller{
//调取新增页面
public function index(Request $request){
// echo "123";die;
if($request->isMethod('post')){
$result=$request->all();
$img = $request->file('imgs');
//获得文件名字为imgs的所有值
// print_r($img);
$img_name=$img->getClientOriginalName();//图片名称
$img_txt= $img->getClientOriginalExtension();//图片后缀
// print_r($img_txt);
$read=rand(10000,99999);
$new_name=date('YmdHis').$read.'.'.$img_txt;
$img->move('./vote',$new_name);
if(empty($result['user'])){
$array['status']=101;
$array['msg']="参赛人姓名不可以为空";die;
}else{
if(empty($result['telphone'])){
$array['status']=102;
$array['msg']="参赛人联系方式不可以为空";die;
}else{
if(empty($result['msg'])){
$array['status']=103;
$array['msg']="参赛人宣言不可以为空";die;
}else{
if(empty($result['vote'])){
$array['status']=104;
$array['msg']="参赛人姓名不可以为空";die;
}else{
//查询表中姓名是否有重复
$user = Flight::where('user',$result['user'])->first();
//如果不重复,则入库
if(empty($user)){
//查询表中电话是否有重复
$telphone =
Flight::where('telphone',$result['telphone'])->first();
if(empty($telphone)){
//接收前台传来的值
$data = array(
'user'=>$result['user'],
'sex' =>$result['sex'],
'telphone'=>$result['telphone'],
'msg'=>$result['msg'],
'one_people'=>$result['vote'],
'imgs'=>$new_name
);
//测试打印数组
// print_r($data);die;
$info = Flight::insert($data);
//执行入库
// print_r($info);
if($info){
//执行入库成功,重定向到展示方法
return redirect('vote/shows');
}else{
//执行入库失败,重定向到新增页面的get方法
return redirect('vote/index');
}
}else{
$array['status']=106;
$array['msg']="该联系电话已绑定,却确认您的联系方式!";
}
}else{
$array['status']=105;
$array['msg']="该参赛人已报过名!";
}
}
}
}
}
return $array;
}else{
//在为get的时候,展示静态页面
return view('vote/vote_add');
}
}
//获取表中数据,渲染出来
public function show(){
$info = Flight::all();
return view('vote/index',['data'=>$info]);
}
//删除数据
public function delete(){
$vote = Flight::find($id);
$data = $vote->delete();
if($data){
return redirect('vote/index');
}
}
}
展示页面渲染的循环:
@foreach($data as $v)
<li class="first">
<a href="{{url('vote/msg')}}/{{$v->id}}" class="js-vote">
<div class="clearfix">
<div class="head-wrap">
<div class="head" style="background-image:url(../../uploads/{{$v->imgs}})"></div>
</div>
<div class="interactive">
<p class="title" style="font-size:20px;padding:25px 0 25px">{{$v->user}}</p>
<p class="count"><em>426</em> 票</p>
</div>
</div>
<div class="s decorative"></div>
</a>
</li>
@endforeach
<li>
<a title="编辑" href="{{url('vote/update')}}/{{$v->id}}"</a>
<a title="删除" href="{{url('vote/delete')}}/{{$v->id}}"</a>
</li>
在下一章写展示,修改