Rumah > pembangunan bahagian belakang > tutorial php > 关于laravel的获取器:get{xxxx}Attribute和数据类型的问题

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

WBOY
Lepaskan: 2016-08-08 09:06:52
asal
1506 orang telah melayarinya

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

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

<code>模仿写的获取role_list,报错了</code>
Salin selepas log masuk
Salin selepas log masuk

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

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

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

疑问:

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

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

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

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

回复内容:

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

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

<code>模仿写的获取role_list,报错了</code>
Salin selepas log masuk
Salin selepas log masuk

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

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

关于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>
Salin selepas log masuk

你问的是这个吗?

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

我为啥还不能点赞

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan