Maison  >  Article  >  développement back-end  >  关于laravel的获取器:get{xxxx}Attribute和数据类型的问题

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

WBOY
WBOYoriginal
2016-08-08 09:06:521430parcourir

<code>laracast上教学用的方法,成功获取了tag_list</code>

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

<code>模仿写的获取role_list,报错了</code>

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

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

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

疑问:

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

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

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

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

回复内容:

<code>laracast上教学用的方法,成功获取了tag_list</code>

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

<code>模仿写的获取role_list,报错了</code>

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

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

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

疑问:

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

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

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

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

<code><?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);</code>

你问的是这个吗?

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

我为啥还不能点赞

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn