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();
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 4

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

4年前 评论
游离不2

完全没看懂这例子。

4年前 评论
pan_zoe 4年前

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

4年前 评论

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

4年前 评论

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