7.x 重大特性 - 自定义属性 Cast

链接

定义

<?php

use Illuminate\Contracts\Database\Eloquent\CastsAttributes;

class AddressCaster implements CastsAttributes
{
    public function get($model, $key, $value, $attributes)
    {
        return new Address(
            $attributes['address_line_one'], 
            $attributes['address_line_two']
        );
    }

    public function set($model, $key, $value, $attributes)
    {
        return [
            'address_line_one' => $value->lineOne, 
            'address_line_two' => $value->lineTwo
        ];
    }
}

使用

$user->address->lineOne = 'New Line 1';
$user->save();
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 4

laravel 在处理数据库这块做的真的太吊了,应该是目前最好用的orm 没有之一了

5年前 评论
游离不2

完全没看懂这例子。

5年前 评论
pan_zoe 5年前

这个接口类似定义在哪个文件的?

4年前 评论

用惯了 Laravel 的 ORM 再去用 go 的Gorm 和 Xorm 简直是生不如死,关键 Gorm 还号称对开发者友好 :joy:

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!