关于laravel的获取器:get{xxxx}Attribute和数据类型的问题

laracast上教学用的方法,成功获取了tag_list

laracast上教学用的方法

模仿写的获取role_list,报错了

自己用生成的resource控制器下模仿写的

如果直接在controller里面这样直接用$user->roles是能成功获取的

直接在controller里面用是能成功获取的

疑问:

1,出现上面三个图的情况,是什么原因?

2,能否解决,让在传统的resource控制器里面的通过$id来查找到的内容也能直接调·用get{xxxx}Attribute里面的xxxx

3,下图中,这两种传参方式获取到的结果是一样的结构吗?

图片描述

阅读 4k
3 个回答
<?php

/**
 * Created by PhpStorm.
 * User: shellus
 * Date: 2016-08-05
 * Time: 12:57
 */
class Test
{

    /**
     * 魔术方法,访问类成员时,会转向调用到此方法
     */
    function __get($name)
    {
        return call_user_func(array($this, $name));
    }

    public function users(){
        return ['a','b','c'];
    }
}

$test = new Test();
var_dump($test -> users);

你问的是这个吗?

1,如楼上所说,是通过魔术方法获取到的
2,model的子类实例都可以这样用
3,返回的都是model子类

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题