Laravel的MVC

一、laravel路由(应用中的大多数路由都会定义在 app/routes.php 文件中

routes.php

?
1
Route::get('/test','TestController @index ');
一个路由就定义好了,当访问 http://xxx.com/public/index.php/test 时就会去找 app/controllers/TestController.php的index方法 
TestController.php 
?
1
2
3
4
5
classTestControllerextendsController{   
    publicfunctionindex(){       
        echo"hello world";
    }
}
一个控制器就建立好了,控制器也可以设置闭包,也可以设置别名 
?
1
2
3
4
Route::get('user/profile',array('as'=>'profile',function()
{
    echo"hello world";
}));
更多路由请看手册:  http://www.golaravel.com/docs/4.1/routing/

二、模型 
普通数据库操作

?
1
2
3
4
$results= DB::select('select * from users where id = ?',array(1));//查
$results= DB::insert('insert into users (id, name) values (?, ?)',array(1,'Dayle'));//增
$results= DB::update('update users set votes = 100 where name = ?',array('John'));//更新
$results= DB::delete('delete from users where id = ?',array(1));//删

查询生成器

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
//查
$obj= DB::table('archives')->select('archives.*','arctype.typename')->where('archives.id','>',2)->join('arctype','arctype.id','=','archives.typeid','left')->orderBy('archives.id','desc')->skip(10)->take(5)->get();//查多条数据
$obj= DB::table('archives')->where('typeid','=','1')->orderBy('id','desc')->first();//查询一条数据
//where条件分组
$sql= DB::table('archives')
    ->where('typeid','=', 1)
    ->orWhere(function($query)
    {
        $query->where('id','>', 2)
                ->where('title','<>','Admin');
    })
    ->get();//sql语句: select * from `la_archives` where `typeid` = 1 or (`id` > 2 and `title` <> 'Admin')
//聚合查询
$users= DB::table('archives')->count();//查总数
$price= DB::table('archives')->max('id');//查最大值
$price= DB::table('archives')->min('id');//查最小值
$price= DB::table('archives')->avg('id');//查平均值
$total= DB::table('archives')->sum('id');//查和
//增
$data=array('title'=>'标题八','body'=>'内容八','typeid'=>2);
$obj= DB::table('archives')->insert($data);
//改
$data2=array('title'=>'标题九','body'=>'内容九','typeid'=>2);
$obj= DB::table('archives')->where('id',2)->update($data2);
//删
$obj= DB::table('archives')->where('id','>','100')->delete();

//模型(app/models/Archives.php)

?
1
2
3
4
classArchivesextendsEloquent{   
    protected$table='archives';//表名
    public$timestamps = false;//不自动维护更新时间
}
//模型操作和普通SQL查询一样 
?
1
2
3
$arr= Archives::select('archives.*','arctype.typename')->where('archives.id','>',2)->join('arctype','arctype.id','=','archives.typeid','left')->orderBy('archives.id','desc')->skip(0)->take(10)->get();
$data=array('title'=>'新标题','body'=>'新内容');
$arr= Archives::where('id','=',2)->update($data);

三、视图(app/views/home/test.blade.php)

?
1
2
3
4
5
<?php
    foreach($itemsas$k=>$v){
        echo$v->title.'<br>';
    }
?>



控制器中
?
1
2
3
4
publicfunctiontest(){
   $data= Archives::select('*')->get();
   returnView::make('home.test')->with('items',$data);
}

你可能感兴趣的:(Laravel的MVC)