精华内容
下载资源
问答
  • <p>Is is possible to replace this line of code with something out of the box.... <pre><code>Cache::has('test') ? \Cache::increment('test') : \Cache::put('test', 1, 60); </code></pre> ...
  • laravel 数据库获取

    2018-12-11 09:52:27
    find($id) 需要一个主键$id并返回一个模型对象,若不存在则返回null findOrFail($id) 需要一个主键$id并返回一个模型对象,若不存在则发生错误,抛出一个error first() 返回数据库中找到的第一条记录,若不存在...
    1. find($id) 需要一个主键$id并返回一个模型对象,若不存在则返回null
    2. findOrFail($id) 需要一个主键$id并返回一个模型对象,若不存在则发生错误,抛出一个error
    3. first() 返回数据库中找到的第一条记录,若不存在匹配的数据则返回null
    4. firstOrFail() 返回数据库中找到的第一条记录,若不存在匹配的数据则发生错误,抛出一个error
    5. get() 返回匹配的数据模型集合
    6. pluck($column1,$column2,...) 仅返回指定字段的值的集合,在以前的Laravel版本中,调用了此方法lists。[常用于]
    7. value($column) 仅返回指定字段的值的集合
    8. toArray() 将模型/集合转换为简单的PHP数组。【A:一个集合是一个强化的数组。它的功能与数组类似,但功能更多。B:PHP不允许在任何地方使用集合对象来使用数组,较新版本的PHP具有iterabletypehint,可用于接受数组和集合。
    9. all() 从一个集合中获得一个普通数组
    10. chunk($groupsize,function($item){}) 分块处理,注意当有筛选条件,自更新时更新的数据只有一半,若数据量大时需要多次重复调用分块更新方式后,最后在最少的数据量情况下执行一次一次性更新
    11. forPage($page, $count) 数据分页
    12. paginate($page_size) 内置分页 【通过appends()方法附加url参数, $items->appends['args'=>val],前台显示$page = $items->links() 】
    展开全文
  • Laravel修改器取出原始

    千次阅读 2017-10-25 12:03:34
    修改器顾名思义就是从数据库取出来的时候修改某个字段的实际,例如我们存在数据库一般都用代号来存储某些字符串,如下:pay_type=1代表汇丰银行支付。。。。 现在的需求是当我从数据库取出pay_type的时候,显示人...

    Laravel的ORM有个强大的功能,可以在数据库查询或者插入的时候进行干涉。
    分两种情况:

    1、修改器:

    修改器顾名思义就是从数据库取出来的时候修改某个字段的实际值,例如我们存在数据库一般都用代号来存储某些字符串,如下:pay_type=1代表汇丰银行支付。。。。
    现在的需求是当我从数据库取出pay_type的时候,显示人能辨识的字符串而不是不知所云的数字编码,那就用如下代码即可实现。

    public function getPayTypeAttribute($value) {
        $paytype = [
            0 => '未支付',
            1 => '汇丰银行支付',
            2 => '支付宝支付',
            3 => '银联支付',
            4 => '余额支付',
            5 => 'POS机支付',
            6 => '现金支付',
            7 => '合约支付',
            8 => '免费',
        ];
        return $paytype[$value];
    }

    2、设置器:

    明白了修改器,再来理解设置器就很简单了,就是把接收到的字符串数据或者其他类型的东东,在存入数据库之前进行设置成我们在数据库设计的代码或者编号。

    public function setPayTypeAttribute($value) {
    }

    3、这里需要注意的是,我们使用了修改器,但是某些时候,我们需要用到数据库里面真实存储的编码,例如查询的时候,我们想要查询的是支付类型为余额支付,那么,我们就需要查询pay_type=4的类型的订单,这里就有个技巧,并不是说使用了修改器,起源真实的值我们就取不到了,例如:我们打印一下获取到的某条订单的详细记录:

    Order {#212 ▼
    #table: “order”
    #primaryKey: “id”
    +timestamps: false
    #connection: null
    #perPage: 15
    +incrementing: true
    #attributes: array:30 [▼
    “id” => 194
    “order_no” => “X17547041338090518”
    “order_type” => 1
    “order_source” => 1
    “customer_type” => 1
    “apply_name” => “wer werw”
    “apply_email” => “zxcz35288@163.com”
    “pay_type” => 3
    “customer_id” => 182
    “customer_name” => “wer werw”
    “customer_phone” => “+0093 4234”
    “customer_email” => “zxcz35288@163.com”
    “address_id” => 10
    “should_payment” => “29.99”
    “actual_payment” => “29.99”
    “other_payment” => “0.00”
    “total_item_price” => “0.00”
    “allow_use_coupon” => 1
    “coupon_type” => 0
    “coupon_id” => 0
    “coupon_payment” => “0.00”
    “is_online” => 1
    “is_user_delete” => 0
    “invoice_apply_status” => 0
    “status” => 5
    “remark” => null
    “creator” => 1
    “create_time” => “2017-09-04 17:59:06”
    “updator” => null
    “update_time” => “2017-09-04 18:02:42”
    ]
    #original: array:30 [▼
    “id” => 194
    “order_no” => “X17547041338090518”
    “order_type” => 1
    “order_source” => 1
    “customer_type” => 1
    “apply_name” => “wer werw”
    “apply_email” => “zxcz35288@163.com”
    “pay_type” => 3
    “customer_id” => 182
    “customer_name” => “wer werw”
    “customer_phone” => “+0093 4234”
    “customer_email” => “zxcz35288@163.com”
    “address_id” => 10
    “should_payment” => “29.99”
    “actual_payment” => “29.99”
    “other_payment” => “0.00”
    “total_item_price” => “0.00”
    “allow_use_coupon” => 1
    “coupon_type” => 0
    “coupon_id” => 0
    “coupon_payment” => “0.00”
    “is_online” => 1
    “is_user_delete” => 0
    “invoice_apply_status” => 0
    “status” => 5
    “remark” => null
    “creator” => 1
    “create_time” => “2017-09-04 17:59:06”
    “updator” => null
    “update_time” => “2017-09-04 18:02:42”
    ]
    #relations: []
    #hidden: []
    #visible: []
    #appends: []
    #fillable: []
    #guarded: array:1 [▼
    0 => “*”
    ]
    #dates: []
    #dateFormat: null
    #casts: []
    #touches: []
    #observables: []
    #with: []
    #morphClass: null
    +exists: true
    +wasRecentlyCreated: false
    }

    在我们toArray()转换为数组之前,是这样的,仔细看,里面是不是有个origin字段,其实这个就是修改器起作用之前的数据,取出来也很简单:

    $data=$result['original]

    我们toArray()的时候,实际作用的是attributes,是将这个转换为实际显示出来的数组的.这个功能非常棒,肯定会派上用场,有奇效!

    在Laravel 5.5中,取值方式加强了,可以利用如下方式,属性变成方法了,并且还可以设置默认值:

    文件路径:
    D:\phpStudy\WWW\BCCKidV1.0\vendor\laravel\framework\src\Illuminate\Database\Eloquent\Concerns\HasAttributes.php

        /**
         * Get the model's original attribute values.
         *
         * @param  string|null  $key
         * @param  mixed  $default
         * @return mixed|array
         */
        public function getOriginal($key = null, $default = null)
        {
            return Arr::get($this->original, $key, $default);
        }

    所以取值方式变为:

    $user->getOriginal('gender')
    展开全文
  • laravel 数据库获取的常用方法

    千次阅读 2019-03-05 17:25:49
    find($id) 需要一个主键$id并返回一个模型对象,若不存在则返回null findOrFail($id) 需要一个主键$id并返回一个模型对象,若不存在则发生错误,抛出一个error first() 返回数据库中找到的第一条记录,若不存在匹配...

    find($id)              需要一个主键$id并返回一个模型对象,若不存在则返回null
    findOrFail($id)    需要一个主键$id并返回一个模型对象,若不存在则发生错误,抛出一个error
    first()                   返回数据库中找到的第一条记录,若不存在匹配的数据则返回null
    firstOrFail()         返回数据库中找到的第一条记录,若不存在匹配的数据则发生错误,抛出一个error
    get()                   返回匹配的数据模型集合
    pluck($column1,$column2,...)        仅返回指定字段的值的集合,在以前的Laravel版本中,调用了此方法lists。[常用于]
    value($column)              仅返回指定字段的值的集合
    toArray()             将模型/集合转换为简单的PHP数组。【A:一个集合是一个强化的数组。它的功能与数组类似,但功能更多。B:PHP不允许在任何地方使用集合对象来使用数组,较新版本的PHP具有iterabletypehint,可用于接受数组和集合。】
    all()                     从一个集合中获得一个普通数组
    chunk($groupsize,function($item){})            分块处理,注意当有筛选条件,自更新时更新的数据只有一半,若数据量大时需要多次重复调用分块更新方式后,最后在最少的数据量情况下执行一次一次性更新
    forPage($page, $count)         数据分页
    paginate($page_size)           内置分页 通过appends()方法附加url参数, $items->appends['args'=>val],前台显示$page = $items->links()  
     

    展开全文
  • 1、基于闭包的路由不能被缓存。如果要使用路由缓存,你必须将所有的闭包路由转换成控制器类路由。...但是它不返回请求中不存在的键值对。获取部分输入数据、如果需要获取输入数据的子集,可以使用 only
    1、基于闭包的路由不能被缓存。如果要使用路由缓存,你必须将所有的闭包路由转换成控制器类路由。需要开起路由缓存:php artisan route:cache、运行这个命令之后,每一次请求的时候都将会加载缓存的路由文件。如果你添加了新的路由,你需要生成 一个新的路由缓存。因此,你应该只在生产环境运行,需要清除路由缓存:php artisan route:clear
    //文件缓存之存储------------------------------------------------------------------------------------------------
    public function cache(Request $req){
         Cache::put('key1','value1',10);//10分钟
         $res = Cache::add('key2','value2',10);//10分钟
         $res = Cache::forever('key3','value3');//forever永久
         dump($res);
    
        //取
         $res = Cache::get('key1');
         $res = Cache::pull('key1');//取出来,然后删除
         dump($res);
    
        //手动删除
         $res = Cache::forget('key2');
         dump($res);
         if(Cache::has('key3')){
             Cache::forget('key3');
         }
        //清空所有缓存
        Cache::flush();
        session(['key1'=>'value1']);//存
        session('key1');//取
        session()->put('key2','values2');//存
        session()->get('key2');//取
        $req->session()->put('key3','values3');//存
        $req->session()->get('key3');//取
        Session::put('key4','values4');//存
        Session::get('key4');//取
    
    }
    
    2、only ()方法返回请求中的全部键值对;但是它不返回请求中不存在的键值对。获取部分输入数据、如果需要获取输入数据的子集,可以使用 only 或 except 方法。它们接受单个 array 或者动态参数列表:
    $input = $request->only(['username', 'password']);
    $input = $request->only('username', 'password');
    $input = $request->except(['credit_card']);
    $input = $request->except('credit_card');
    
    3、has 方法用于判定请求中是否存在指定的值。如果请求中存在该值, has 方法返回 true、如果给出一个数组, has 方法将判断在请求中,指定的值是否全部存在:
    if ($request->has(['name', 'email'])) {
        //
    }
    
    4、如果想要判断一个值在请求中是否存在,并且不为空,需要使用 filled 方法
    if ($request->filled('name')) {
        //
    }
    
    展开全文
  • 如果配置项不存在,你还可以指定返回的默认值:$timezone = Config::get('app.timezone', 'UTC');为配置项赋值注意"点"式语法可以用来访问不同文件里的配置项的。你还可以在运行时为配置项赋值。:Config::set('...
  • exists:table,column验证字段的是否存在于数据库指定表的指定列中,如果不存在将会抛出异常,这里是关于 exists 规则的基本用法验证 users 表中是否存在 email 等于指定的 email 的记录'email' => 'exists:...
  • exists:table,column验证字段的是否存在于数据库指定表的指定列中,如果不存在将会抛出异常,这里是关于 exists 规则的基本用法验证 users 表中是否存在 email 等于指定的 email 的记录'email' => 'exists:...
  • Laravel 提供了强大的表单验证规则,我在项目中 exists 和 unique 用得比较频繁,参照官方文档写下此文,以便...exists:table,column验证字段的是否存在于数据库指定表的指定列中,如果不存在将会抛出异常,这里是...
  • Laravel 5表单生成器 ... 如果您从1.5.*或更早版本升级到>1.6.* ,并且表单绑定存在问题, default_value重命名为value 。 更多信息请参见 。 文献资料 有关详细文档,请参阅 。 变更日志 可以在找到Changelog。
  • laravel 辅助函数

    2020-06-28 13:46:07
    array_add 如果给定的键不存在数组中,那么array_add函数将会把给定的键值对添加到数组中 array_add([‘name’=》‘desk’]); array_collapse 函数将多个数组合并为一个数组 array_collapse([1,2,3],[4,5,6]); array...
  • laravel cache 缓存操作

    2021-02-02 13:50:40
    Cache::add() 只会在缓存项不存在的情况下添加数据到缓存,如果数据被成功返回 true,否则,返回 false Cache::pull() 从缓存中获取缓存项然后删除,使用 pull 方法,如果缓存项不存在的话返回 null Cache::forever...
  • 有时候你可能想要输出一个变量,但是你并确定这个变量是否已经被定义,我们可以用像这样的冗长 PHP 代码表达: {{ isset($name) ?...在这个例子中,如果$name变量存在,它的将被显示出来。但是,如果它...
  • 假如现在我接收到前端传来的表单数组:$input = $request->input();...可是问题来了,这4个input,用户可能填写一个,也可能填写4个,那我使用查询构造器的时候,可能判断每个是否存在,然后写构造器...
  • 假如现在我接收到前端传来的表单数组:$input = $request->input();...可是问题来了,这4个input,用户可能填写一个,也可能填写4个,那我使用查询构造器的时候,可能判断每个是否存在,然后写构造器...
  • 场景:在并发插入更新的情况下,数据库会出现重复数据的情况出现 下面是一段laravel的示例代码 主要逻辑是判断tt,yy的va字段为空才会执行更新va...在redis中setnx设置当key存在时候返回0,不存在时候设置返回1,.
  • 默认情况下, intl扩展在PHP安装中不存在,并且可以在不同的服务器上提供。 入门 1.安装 运行以下命令: composer require akaunting/money 2.注册(Laravel <5.5) 在config/app.php注册服务提供商 Akaunting...
  • PHP-laravel之cache

    2020-12-16 18:25:46
    # 添加 如果key不存在则添加成功,如果key存在,返回false Cache::add('key', 'value', $minutes); # 设置 不管key是否存,都可以设置成功 Cache::put('key', 'value', $minutes); # 设置永久缓存 Cache::forever...
  • 方便的全局辅助函数 在Laravel5.3之前的版本中我们注意到全局辅助函数session()和cookie...session('key', null) 获取key的不存在时返回nullsession(['key' => 'example']) 设置key的为emamplesession() 返回一
  • 在用laravel框架来获取数据,若数据不存在时,以为会返回空,其实不是的,其实是一个 collection ,会返回如下: object(Illuminate\Database\Eloquent\Collection)#191 (1) { ["items":protected]=> ...
  • 在实际应用中,经常碰到导入数据的功能,当导入的数据不存在时则进行添加,有修改时则进行更新, 在刚碰到的时候,第一反应是将其实现分为两块,分别是判断增加,判断更新,后来发现在mysql中有 ON DUPLICATE KEY ...
  • //----------设置缓存----------- //Cache::put($key,$val,$minutes); 如果$key已存在,则覆盖原有 ... 该方法只会在缓存不存在的情况下添加到缓存,成功返回true,失败返回false $r = Cache::...
  • 在日常开发的过程中,经常会遇到判断一条记录是否存在、存在更新、不存在新建记录这种场景,在Laravel中提供了方法支持,那么下面就看下具体的方法; 使用时请注意版本,下面介绍的函数firstOrCreate和firstOrNew...

空空如也

空空如也

1 2 3 4
收藏数 65
精华内容 26
关键字:

laravel值不存在