laravel model模型处理之修改查询或修改字段时的类型格式案例

先了解一下此图,有助于理解

通过上图了解

这将在原有的列上添加一列is_admin,这需要通过属性访问时才会获得,如果我们希望在获得数据的时候被一起返回,则还需要append属性

class User extends Model{

 //设置方法名称
 protected $appends = ['is_admin','type'];

 //查询时 修改 字段格式或者值 【自动触发,无需调用】
 public function getIsAdminAttribute()
 {
  return $this->attributes['title'] = 'yes';
 }

 //修改时 更改储存格式或者值 【自动触发,无需调用】
 public function setIsAdminAttribute($value)
 {
  //$value 代表字段的值
  $this->attributes['title'] = empty($value) ? '0' : $value;
 }

  protected $type = [1=>'aaa',2=>'bbb'];

 public function getTypeAttribute()
 {
  return $this->type[$this->attributes['type']];
 }

}

以上这篇laravel model模型处理之修改查询或修改字段时的类型格式案例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Laravel框架实现model层的增删改查(CURD)操作示例

    本文实例讲述了Laravel框架实现model层的增删改查(CURD)操作.分享给大家供大家参考,具体如下: protected $table = 'user_city'; public $timestamps = false; //添加 返回id public function cityadd($data) { return $this->insertGetId($data); } //单条查找 public function getfind($id) { if($this->where('

  • Laravel Eloquent ORM 实现查询表中指定的字段

    在使用Laravel ORM的Model方法find, get, first方法获取数据对象时返回的数据对象的attributes属性数组里会包含数据表中所有的字段对应的键值关系, 那么如何在ORM查询时只返回数据表中指定字段的数据呢?很多时候,文档上没有写明的用法需要我们去看源码来探究的,下面我们就来看一下这三个方法的实现. 由于ORM依赖了QueryBuilder来实现查询, 在QueryBuilder的源码里通过查看get,first方法的实现可以到,他们都可以接收一个数组参数来指定要查询

  • Laravel 实现关系模型取出需要的字段

    需求是从建立关系模型的数据表里面取出需要的字段,乱七八糟的不要.一个机构对应多个授权码,授权码里面的信息很杂乱,但是我取出关联模型的时候想把他们过滤掉. public function readOrganization($id) { $list = Organization::with(['authcodes' => function ($query) {$query->select('organization_id', 'auth_code');}])->find($id); if (

  • laravel 字段格式化 modle 字段类型转换方法

    有些字段会用base64_decode加密存储,在每次查询都要查询出来解码.比较麻烦,laravel的model提供方法处理 在对应的model里面 格式为(set/get)(字段名称,注1)(Attribute) 注: 1.首字母大写,下划线的地方字母大写.例如product_json在这里的写法是ProductJson /** * 查询用户的时候name字段处理 * * @author Eric * @param $value * @return string */ public funct

  • Laravel框架模型的创建及模型对数据操作示例

    本文实例讲述了Laravel框架模型的创建及模型对数据操作.分享给大家供大家参考,具体如下: 模型创建: <?php namespace App; use Illuminate\Database\Eloquent\Model; class Admin extends Model{ //指定表名 protected $table = 'wd_user'; //指定允许批量复制的字段 protected $fillable = ['username']; //指定id protected $prim

  • laravel model模型处理之修改查询或修改字段时的类型格式案例

    先了解一下此图,有助于理解 通过上图了解 这将在原有的列上添加一列is_admin,这需要通过属性访问时才会获得,如果我们希望在获得数据的时候被一起返回,则还需要append属性 class User extends Model{ //设置方法名称 protected $appends = ['is_admin','type']; //查询时 修改 字段格式或者值 [自动触发,无需调用] public function getIsAdminAttribute() { return $this->

  • laravel model模型定义实现开启自动管理时间created_at,updated_at

    时间戳 默认情况下,Eloquent 期望 created_at 和updated_at 已经存在于数据表中,如果你不想要这些 Laravel 自动管理的数据列,在模型类中设置 $timestamps 属性为 false: <?php namespace App; use Illuminate\Database\Eloquent\Model; class Flight extends Model { /** * 表明模型是否应该被打上时间戳 * * @var bool */ public $ti

  • Laravel使用模型实现like模糊查询的例子

    使用模型实现数据的增删改查的好处真的很多,比简单的DB类实现要安全的多 ,强烈建议使用 其它操作文档里有,就不说了,说一个一般大神不会用的,like模糊查询. 下面这段代码是通过URL来查询的,通过表单提交实现查询的话,自个儿琢磨 public function search(Request $request){ $echostr=$request->input("search"); $msg=Search::where('title',$echostr)->orWhere

  • 如何利用预加载优化Laravel Model查询详解

    前言 本文主要给大家介绍了关于利用预加载优化Laravel Model查询的相关内容,分享出来供大家参考学习,话不多说了,来一起看看详细的介绍: 介绍 对象关系映射(ORM)使数据库的工作变得非常简单. 在以面向对象的方式定义数据库关系时,可以轻松查询相关的模型数据,开发人员可能不会注意底层数据库调用. 下面将通过一些例子,进一步帮助您了解如何优化查询. 假设您从数据库收到了100个对象,并且每个记录都有1个关联模型(即belongsTo). 默认使用ORM将产生101个查询; 如下所示: //

  • Laravel关系模型指定条件查询方法

    对于关系模型来说,有时候我们需要甄别关联后结果,例如,班级和学生是一对多关联,我现在查询班级,但是想只显示正常状态,即状态为1的学生,因为有的学生从这个班级里面删除了,状态是4,那么我们在查询的时候就可以使用如下语法: 1.定义关联关系: Class模型: public function learners() { return $this->belongsToMany('App\Models\Customer', 'learner_relation', 'class_id', 'learner_

  • laravel框架模型和数据库基础操作实例详解

    本文实例讲述了laravel框架模型和数据库基础操作.分享给大家供大家参考,具体如下: laravel分为三大数据库操作(DB facade[原始查找],查询构造器[Query Builder],Eloquent ORM): use Illuminate\Support\Facades\DB; 1.DB facade[原始查找] $results = DB::select('select * from users where id = :id', ['id' => 1]); DB::insert

  • Yii中Model(模型)的创建及使用方法

    本文实例分析了Yii中Model(模型)的创建及使用方法.分享给大家供大家参考,具体如下: YII 实现了两种模型,表单模型(CFormModel类)和Active Record模型(CAtiveRecord类),它们都继承自CModel类. CFormModel代表的数据模型是从HTML表单收集的输入,封装了所有逻辑(如表单的验证和其它业务逻辑,应用到表单的域上).它能将数据存储在内 存中,或者在一个Active Record的帮助下,存入数据库里. 数据库连接操作 在config/main.

  • laravel model 两表联查示例

    1对一 定义一对一关联 一对一关联是很基本的关联.例如一个 User 模型会对应到一个 Phone . 在 Eloquent 里可以像下面这样定义关联: class User extends Model { public function phone() { return $this->hasOne('App\Phone'); } } 传到 hasOne 方法里的第一个参数是关联模型的类名称.定义好关联之后,就可以使用 Eloquent 的动态属性取得关联对象: $phone = User::f

  • django模型动态修改参数,增加 filter 字段的方式

    我就废话不多说啦,还是直接看代码吧! kwargs = { # 动态查询的字段 } # 选择deleted_datetime为空的记录 if exclude_deleted: kwargs[ 'deleted_datetime__isnull' ] = True # 选择特的category if category is not None: kwargs[ 'category' ] = category # 特定的用户 if current_user_only: kwargs[ 'user' ]

随机推荐