http://my.oschina.net/tongjh/blog/194231

http://baike.baidu.com/view/1020297.htm

一、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 class TestController extends Controller{   
2     public function index(){       
3         echo "hello world";
4     }
5 }

一个控制器就建立好了,控制器也可以设置闭包,也可以设置别名

1 Route::get('user/profile', array('as' => 'profile', function()
2 {
3     echo "hello world";
4 }));

更多路由请看手册: http://www.golaravel.com/docs/4.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));//删

查询生成器

01 //查
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();//查询一条数据
04 //where条件分组
05 $sql = DB::table('archives')
06     ->where('typeid', '=', 1)
07     ->orWhere(function($query)
08     {
09         $query->where('id', '>', 2)
10                 ->where('title', '<>', 'Admin');
11     })
12     ->get();//sql语句: select * from `la_archives` where `typeid` = 1 or (`id` > 2 and `title` <> 'Admin')
13 //聚合查询
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');//查和
19 //增
20 $data = array('title'=>'标题八','body'=>'内容八','typeid'=>2);
21 $obj = DB::table('archives')->insert($data);
22 //改
23 $data2 = array('title'=>'标题九','body'=>'内容九','typeid'=>2);
24 $obj = DB::table('archives')->where('id',2)->update($data2);
25 //删
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;//不自动维护更新时间
4 }

//模型操作和普通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)

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

控制器中

1 public function test(){
2    $data = Archives::select('*')->get();
3    return View::make('home.test')->with('items',$data);
4 }

【转载】laravel的MVC的更多相关文章

  1. 转载ASP.NET MVC 和ASP.NET Web Form简单区别

    转载原地址 http://www.cnblogs.com/lei2007/p/3315431.html 概论: Asp.net  微软 提供web开发框架或者技术.分Web Form和ASP.NET  ...

  2. 转载 ASP.NET MVC中使用ASP.NET Identity

    转载原地址: http://blog.jobbole.com/90695/ 在之前的文章中,我为大家介绍了OWIN和Katana,有了对它们的基本了解后,才能更好的去学习ASP.NET Identit ...

  3. 转载ASP.NET MVC中Session的处理机制

    本文章转载自 http://www.cnblogs.com/darrenji/p/3951065.html ASP.NET MVC中的Session以及处理方式   最近在ASP.NET MVC项目中 ...

  4. 【转载】【MVC 学习 Razor语法】

    Razor是MVC3中才有的新的视图引擎.我们知道,在ASP.NET中,ASPX的视图引擎依靠<%和%>来调用C#指令.而MVC3以后有了一套新的使用@标记的Razor语法,使用起来更灵活 ...

  5. [转载] ASP.NET MVC (一)——深入理解ASP.NET MVC

    个人认为写得比较透彻得Asp.net mvc 文章,所以转载过来,原文链接在最后: ASP.NET vs MVC vs WebForms 许多ASP.NET开发人员开始接触MVC认为MVC与ASP.N ...

  6. 转载——Asp.Net MVC+EF+三层架构的完整搭建过程

    转载http://www.cnblogs.com/zzqvq/p/5816091.html Asp.Net MVC+EF+三层架构的完整搭建过程 架构图: 使用的数据库: 一张公司的员工信息表,测试数 ...

  7. 《转载》Spring MVC之@RequestBody, @ResponseBody 详解

    引言: 接上一篇文章讲述处理@RequestMapping的方法参数绑定之后,详细介绍下@RequestBody.@ResponseBody的具体用法和使用时机: 简介: @RequestBody 作 ...

  8. 【转载】Spring MVC 整合 Freemarker

    前言 1.为什么要使用Spring MVC呢? 2.为什么要使用Freemarker呢? 3.为什么不使用Struts2呢? 此示例出现的原因就是发现了struts2的性能太差,所以学习Spring ...

  9. [转载]Spring Web MVC Framework

    Required Configuration You need to map requests that you want the DispatcherServlet to handle, by us ...

随机推荐

  1. JavaScript 中的事件设计

    1. 事件绑定的几种方式  主要介绍一下 最常用的事件设计 其他就稍微带过. 直接在代码里面添加onclick指定函数名字. B) 在JS代码中通过dom元素的onclick等属性 这种做法this表 ...

  2. 配置linux中文

    1.~/.bash_profile文件添加一下内容并执行source  ~/.bash_profile export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK 2./etc ...

  3. Web Service学习笔记(webservice、soap、wsdl、jws详细分析) (转)

    Web Service概述 Web Service的定义 W3C组织对其的定义如下,它是一个软件系统,为了支持跨网络的机器间相互操作交互而设计.Web Service服务通常被定义为一组模块化的API ...

  4. (转)sql server 2008 不允许保存更改,您所做的更改要求删除并重新创建以下表 的解决办法

    启动SQL Server 2008 Management Studio 工具菜单----选项----Designers(设计器)----阻止保存要求重新创建表的更改  取消勾选即可.

  5. JavaScript split()

    http://www.w3school.com.cn/jsref/jsref_split.asp

  6. js参数截取

    原代码: function GetQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^& ...

  7. Jquery去除从数据库中查询到的内容含有的p标签

    $("#topic_content").html($("#topic_content").text()); 如果这个数据是通过循环遍历出的数据,就需要下面这个代 ...

  8. inline-block样式间距

    原始问题和解决方法请参考 淘宝UED官方博客:inline-block 前世今生 布局时采用行内块display:inline-block,发现元素之间有空隙,原因是由于空白字符引起的,详细见上面链接 ...

  9. css3实现各种渐变效果,比较适合做手机触屏版

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  10. WordPress插件制作教程(四): 将数据保存到数据库

    上一篇讲解了添加菜单的方法,这一篇为大家讲解如何将数据保存到数据库中,并且显示在页面上,不会因提交表单时刷新页面输入框中内容消失.要实现这一功能我们需要借助WordPress函数来实现,下面就来讲解具 ...