laravel的MVC"/>
【转载】laravel的MVC
.htm
一、laravel路由(应用中的大多数路由都会定义在 app/routes.php 文件中)
routes.php
1 | Route::get( '/test' , 'TestController@index' ); |
一个路由就定义好了,当访问 .php/test 时就会去找 app/controllers/TestController.php的index方法
TestController.php
1 | class TestController extends Controller{ |
2 | public function index(){ |
一个控制器就建立好了,控制器也可以设置闭包,也可以设置别名
1 | Route::get( 'user/profile' , array ( 'as' => 'profile' , function () |
更多路由请看手册: .1/routing/
二、模型
普通数据库操作
1 | $results = DB::select( 'select * from users where id = ?' , array (1)); |
2 | $results = DB::insert( 'insert into users (id, name) values (?, ?)' , array (1, 'Dayle' )); |
3 | $results = DB::update( 'update users set votes = 100 where name = ?' , array ( 'John' )); |
4 | $results = DB:: delete ( 'delete from users where id = ?' , array (1)); |
查询生成器
02 | $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(); |
03 | $obj = DB::table( 'archives' )->where( 'typeid' , '=' , '1' )->orderBy( 'id' , 'desc' )->first(); |
05 | $sql = DB::table( 'archives' ) |
06 | ->where( 'typeid' , '=' , 1) |
07 | ->orWhere( function ( $query ) |
09 | $query ->where( 'id' , '>' , 2) |
10 | ->where( 'title' , '<>' , 'Admin' ); |
14 | $users = DB::table( 'archives' )-> count (); |
15 | $price = DB::table( 'archives' )->max( 'id' ); |
16 | $price = DB::table( 'archives' )->min( 'id' ); |
17 | $price = DB::table( 'archives' )->avg( 'id' ); |
18 | $total = DB::table( 'archives' )->sum( 'id' ); |
20 | $data = array ( 'title' => '标题八' , 'body' => '内容八' , 'typeid' =>2); |
21 | $obj = DB::table( 'archives' )->insert( $data ); |
23 | $data2 = array ( 'title' => '标题九' , 'body' => '内容九' , 'typeid' =>2); |
24 | $obj = DB::table( 'archives' )->where( 'id' ,2)->update( $data2 ); |
26 | $obj = DB::table( 'archives' )->where( 'id' , '>' , '100' )-> delete (); |
//模型(app/models/Archives.php)
1 | class Archives extends Eloquent{ |
2 | protected $table = 'archives' ; |
3 | public $timestamps = false; |
//模型操作和普通SQL查询一样
1 | $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(); |
2 | $data = array ( 'title' => '新标题' , 'body' => '新内容' ); |
3 | $arr = Archives::where( 'id' , '=' ,2)->update( $data ); |
三、视图(app/views/home/test.blade.php)
2 | foreach ( $items as $k => $v ){ |
控制器中
2 | $data = Archives::select( '*' )->get(); |
3 | return View::make( 'home.test' )->with( 'items' , $data ); |
转载于:.html
发布评论