[Laravel] 16 - DB: Eloquent】的更多相关文章

前言 一.大纲 写后端API,与数据库打交道无疑是很重要的角色. PHP数据库操作:从MySQL原生API到PDO PHP数据库操作:使用ORM Ref: [PHP] 07 - Json, XML and MySQL 二.细节 SQL 教程 三.初识 Eloquent ORM Eloquent ORM是Laravel框架使用的ORM.Laravel 的 Eloquent ORM 提供了更优雅的ActiveRecord 实现来和数据库的互动.每个数据库表对应一个模型文件. Goto: Eloque…
Laravel 4之Eloquent ORM http://dingjiannan.com/2013/laravel-eloquent/ 定义Eloquent模型 模型通常放在app/models目录中,但是您可以自由地把它们放在任何地方,只要它能根据您的composer.json文件自动加载.除非显示地指定表名,Eloquent默认情况下将模型类名的小写,复数形式作为表名.如我们定义的模型为Game,那么它将操作games数据表. <?php // app/models/Game.php cl…
连接数据库 一.Outline 三种操作数据库的方式. 二.Facade(外观)模式 Ref: 解读Laravel,看PHP如何实现Facade? Facade本质上是一个“把工作推给别人做的”的类. Facade存在的价值,可以从服务容器谈起.服务容器,可见我的另一篇博文,地址:http://www.cnblogs.com/sweng/p/6430374.html 举个例子,不知道大家以前写代码有没有过obj->method(arg1,arg2)->func(arg3,arg4);的体验.学…
1.配置.env文件 DB_HOST_TRAILER=127.0.0.1DB_PORT_TRAILER=3306DB_DATABASE_TRAILER=htms_trailerDB_USERNAME_TRAILER=rootDB_PASSWORD_TRAILER= DB_HOST_FREIGHT=127.0.0.1DB_PORT_FREIGHT=3306DB_DATABASE_FREIGHT=hangli_saasDB_USERNAME_FREIGHT=rootDB_PASSWORD_FREIG…
上次干这事已经是一年前了,之前的做法特别的繁琐.冗余,具体就是创建一个自定义 Builder 类,继承自 Query\Builder,然后覆盖 Connection 里面获取 Builder 的方法,返回自定义的 Builder,还有其他一系列很长的步骤. 下面是之前的做法: (算了,还是不说了,太蠢),总之,多看看源码有好处 就说最优雅的解决方法吧: laravel 中提供了 Macroable 的 trait,之前一直没有想过可以用上这个东西. 最近才想到可以这么做,源码看这里:https:…
laravel 操作数据库一般都使用它的Eloquent ORM才操作 建立模型 <?php namespace App; use Illuminate\Database\Eloquent\Model; class Student extends Model { //指定表名 默认 模型名的复数 protected $table='student'; //指定主键 默认主键 为ID protected $primaryKey='id'; //指定允许批量赋值的字段 protected $fill…
例如,我想在 laravel 的事务中,对某个外部变量赋值,然后在后续的逻辑中判断该变量的属性 $user = null; // init DB::transaction(function() use($user) { // do something with user }); // check user if ($user->name) { // bla, bla } 这样会报错 Trying to get property of non-object at 也就是说,在 PHP 中,即使是对…
1.新增一条记录以及判断是否新增成功 $instance = XxxModel::create(['a' => 1, 'b' => 2]); if ($instance->exists) { // 新增成功 } 这里会过滤掉不在模型的 $fillable 字段里面列出的字段. 2.Eloquent 以及 DB 获取某一列的方法 DB类可以直接调用lists方法,如 DB::table('xxx')->lists('name'); Eloquent 有点不一样,因为返回的是 Coll…
z之前在项目中遇到一个问题,复杂的sql查询,用laravel的查询构造器,非常的不方便,各种查询条件拼接一长串拼得脑瓜疼:然后想使用原生的sql语句来查询,然后又使用不了laravel的paginate()分页方法:这时候DB::raw()方法就派上用场了! 如图: 结果: 这个语法的原理就是把你查询的结果集当成一个临时表,然后在使用laravel的查询构造器语法进行分页处理: 希望对您有帮助:…
DB类之查询: 满足条件的全部获取:DB::table("表名")->where("name",">","1")->get(); 满足条件的第一列获取:DB::table("表名")->where("name",">","1")->first(); 满足条件的全部字段:DB::table("表名&quo…