如何从Laravel中的关系获取数据?

hcker2000

我有一个业务模型和订阅模型。我用以下内容加载数据:

Business::with('subscriptions')->get()

然后,我在Business类上创建了一个方法,如下所示:

public function check_for_subscription($type)
{
    if($this->subscriptions->isEmpty() === false)
    {
        foreach($this->subscriptions as $subscription)
        {
            dd($subscription);
            if($subscription->type == $type)
            {
                return true;
            }
        }
    }
    return false;
}

dd向我显示以下内容:

object(Subscription)#175 (17) {
  ["connection":protected]=>
  NULL
  ["table":protected]=>
  NULL
  ["primaryKey":protected]=>
  string(2) "id"
  ["perPage":protected]=>
  int(15)
  ["incrementing"]=>
  bool(true)
  ["timestamps"]=>
  bool(true)
  ["attributes":protected]=>
  array(7) {
    ["id"]=>
    int(1)
    ["business_id"]=>
    int(1)
    ["type"]=>
    string(3) "614"
    ["starts_at"]=>
    NULL
    ["ends_at"]=>
    NULL
    ["created_at"]=>
    string(19) "0000-00-00 00:00:00"
    ["updated_at"]=>
    string(19) "0000-00-00 00:00:00"
  }
  ["original":protected]=>
  array(7) {
    ["id"]=>
    int(1)
    ["business_id"]=>
    int(1)
    ["type"]=>
    string(3) "614"
    ["starts_at"]=>
    NULL
    ["ends_at"]=>
    NULL
    ["created_at"]=>
    string(19) "0000-00-00 00:00:00"
    ["updated_at"]=>
    string(19) "0000-00-00 00:00:00"
  }
  ["relations":protected]=>
  array(0) {
  }
  ["hidden":protected]=>
  array(0) {
  }
  ["visible":protected]=>
  array(0) {
  }
  ["fillable":protected]=>
  array(0) {
  }
  ["guarded":protected]=>
  array(1) {
    [0]=>
    string(1) "*"
  }
  ["touches":protected]=>
  array(0) {
  }
  ["with":protected]=>
  array(0) {
  }
  ["exists"]=>
  bool(true)
  ["softDelete":protected]=>
  bool(false)
}

如果我尝试这样做,$subscription->type我什么也得不到。对如何使它起作用有任何想法吗?

这是我的商业模式的起点

class Business extends Eloquent 
{
    public function subscriptions()
    {
        return $this->hasMany('Subscription');
    }
}

这是我的订阅模式

class Subscription extends Eloquent 
{
    public function businesses()
    {
        return $this->belongsTo('Business');
    }
}
哈维骄傲

根据dd()输出,Subscription对象没有名为“ type”的属性。这就解释了为什么您无法从$ subscription-> type中得到任何信息。

再次根据dd()输出,Subscription对象的确具有一个名为“ attributes”的受保护属性,该属性是一个数组。该数组的键之一是“类型”,因此我假设这是您尝试达到的值。

由于“属性”数组受到保护,因此您无法从外部类访问它。我假设您的Subscription类具有一个名为getAttributes()的getter函数,该函数返回受保护的数组。如果是这样,那么您唯一需要的是:

public function check_for_subscription($type)
{
    if($this->subscriptions->isEmpty() === false)
    {
        foreach($this->subscriptions as $subscription)
        {
            $attributes = $this->subscriptions->getAttributes();
            if($attributes['type'] == $type)
            {
                return true;
            }
        }
    }
    return false;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从关系中获取数据,Laravel

来自分类Dev

Laravel雄辩的模型如何从关系表中获取数据

来自分类Dev

Laravel从多对多关系中获取数据

来自分类Dev

查询以获取Laravel中的关系数据

来自分类Dev

在laravel中通过javascript获取数据关系

来自分类Dev

如何从关系表中获取ID,Laravel

来自分类Dev

如何从Laravel关系中获取数据而不将其加载到初始模型中

来自分类Dev

如何在Laravel中获取具有关系的数据以尝试查看Bill Products

来自分类Dev

Laravel根据关系获取数据

来自分类Dev

Laravel 获取关系数据

来自分类Dev

如何通过条件使用“ with” laravel关系函数来获取数据?

来自分类Dev

使用关系在单个雄辩的查询laravel中获取数据?

来自分类Dev

Laravel Eloquent 获取与数据透视表中的值匹配的关系

来自分类Dev

如何使用yii中的joins从关系中获取数据

来自分类Dev

是否可以从Laravel中的关系表的关系表中获取数据?

来自分类Dev

如何根据Laravel中关系的条件获取列表

来自分类Dev

laravel 5.1:如何从模型中获取嵌套关系?

来自分类Dev

如何通过Laravel中的关系获取用户名

来自分类Dev

如何从存在一对多关系的表中获取数据?

来自分类Dev

我如何通过yii中的CActiverecord获取关系数据?

来自分类Dev

如何在 CodeIgniter 中获取关系数据

来自分类Dev

SQLAlchemy从关系中获取数据

来自分类Dev

在Laravel 5.7中获取与各自的关系到关系数据

来自分类Dev

如何解码关系表laravel 5.8中的Json数据

来自分类Dev

如何在Laravel 4.2中删除关系数据

来自分类Dev

如何通过父对象的关系过滤laravel中的数据

来自分类Dev

如何在Laravel中从多对多关系的一对多关系中获取项目?

来自分类Dev

在Laravel中以一对多关系从数据库中获取数据的问题

来自分类Dev

Laravel获取关系返回错误的数据

Related 相关文章

  1. 1

    从关系中获取数据,Laravel

  2. 2

    Laravel雄辩的模型如何从关系表中获取数据

  3. 3

    Laravel从多对多关系中获取数据

  4. 4

    查询以获取Laravel中的关系数据

  5. 5

    在laravel中通过javascript获取数据关系

  6. 6

    如何从关系表中获取ID,Laravel

  7. 7

    如何从Laravel关系中获取数据而不将其加载到初始模型中

  8. 8

    如何在Laravel中获取具有关系的数据以尝试查看Bill Products

  9. 9

    Laravel根据关系获取数据

  10. 10

    Laravel 获取关系数据

  11. 11

    如何通过条件使用“ with” laravel关系函数来获取数据?

  12. 12

    使用关系在单个雄辩的查询laravel中获取数据?

  13. 13

    Laravel Eloquent 获取与数据透视表中的值匹配的关系

  14. 14

    如何使用yii中的joins从关系中获取数据

  15. 15

    是否可以从Laravel中的关系表的关系表中获取数据?

  16. 16

    如何根据Laravel中关系的条件获取列表

  17. 17

    laravel 5.1:如何从模型中获取嵌套关系?

  18. 18

    如何通过Laravel中的关系获取用户名

  19. 19

    如何从存在一对多关系的表中获取数据?

  20. 20

    我如何通过yii中的CActiverecord获取关系数据?

  21. 21

    如何在 CodeIgniter 中获取关系数据

  22. 22

    SQLAlchemy从关系中获取数据

  23. 23

    在Laravel 5.7中获取与各自的关系到关系数据

  24. 24

    如何解码关系表laravel 5.8中的Json数据

  25. 25

    如何在Laravel 4.2中删除关系数据

  26. 26

    如何通过父对象的关系过滤laravel中的数据

  27. 27

    如何在Laravel中从多对多关系的一对多关系中获取项目?

  28. 28

    在Laravel中以一对多关系从数据库中获取数据的问题

  29. 29

    Laravel获取关系返回错误的数据

热门标签

归档