Php 返回laravel中的所有关系数据

Php 返回laravel中的所有关系数据,php,laravel,eloquent,laravel-6,laravel-eloquent-resource,Php,Laravel,Eloquent,Laravel 6,Laravel Eloquent Resource,我想使用Elount模型检索数据,并在下面的json响应中返回它 user[ transactions[], clients[ ubications[], contactos[], plans[], ] ] 目前我正在接收用户、Transaction和客户端数据,但我无法检索客户端属性内的数据,例如ubications[]、contactos[]和plans[]。因此,我需要有关子属性的

我想使用Elount模型检索数据,并在下面的json响应中返回它

user[
     transactions[],
     clients[
            ubications[],
            contactos[],
            plans[],
      ]
]


目前我正在接收用户、Transaction和客户端数据,但我无法检索客户端属性内的数据,例如ubications[]、contactos[]和plans[]。因此,我需要有关子属性的帮助,因为我已经实现了关系。

这是我正在使用的模型
User.php

class User extends Authenticatable
{
    use Notifiable,HasApiTokens;

    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = [
        'username', 'email', 'password',
    ];

    /**
     * The attributes that should be hidden for arrays.
     *
     * @var array
     */
    protected $hidden = [
        'password', 'remember_token',
    ];

    /**
     * The attributes that should be cast to native types.
     *
     * @var array
     */
    protected $casts = [
        'email_verified_at' => 'datetime',
    ];
    public function token(){
        return $this->access_token;
    }
    public function transaction(){
        return $this->hasMany(Transaction::class);
    }
    public function plan(){
        return $this->hasManyThrough(Plan::class,Client::class);
    }
    public function ubication(){
        return $this->hasManyThrough(Ubicacion::class,Client::class);
    }
    public function contacto(){
        return $this->hasManyThrough(Contacto::class,Client::class);
    }
    public function client(){
        return $this->hasMany(Client::class);
    }
}
<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Client extends Model
{
    protected $fillable=[
        'nombre',
        'ruc',
        'status',
        'user_id'
    ];

    public function contacto(){
        return $this->hasMany(Contacto::class);
    }
    public function feedback(){
        return $this->hasMany(Feedback::class);
    }
    public function plan(){
        return $this->hasMany(Plan::class);
    }
    public function ubication(){
        return $this->hasMany(Ubicacion::class);
    }
    public function user(){
        return $this->belongsTo(User::class);
    }
}

Client.php

class User extends Authenticatable
{
    use Notifiable,HasApiTokens;

    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = [
        'username', 'email', 'password',
    ];

    /**
     * The attributes that should be hidden for arrays.
     *
     * @var array
     */
    protected $hidden = [
        'password', 'remember_token',
    ];

    /**
     * The attributes that should be cast to native types.
     *
     * @var array
     */
    protected $casts = [
        'email_verified_at' => 'datetime',
    ];
    public function token(){
        return $this->access_token;
    }
    public function transaction(){
        return $this->hasMany(Transaction::class);
    }
    public function plan(){
        return $this->hasManyThrough(Plan::class,Client::class);
    }
    public function ubication(){
        return $this->hasManyThrough(Ubicacion::class,Client::class);
    }
    public function contacto(){
        return $this->hasManyThrough(Contacto::class,Client::class);
    }
    public function client(){
        return $this->hasMany(Client::class);
    }
}
<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Client extends Model
{
    protected $fillable=[
        'nombre',
        'ruc',
        'status',
        'user_id'
    ];

    public function contacto(){
        return $this->hasMany(Contacto::class);
    }
    public function feedback(){
        return $this->hasMany(Feedback::class);
    }
    public function plan(){
        return $this->hasMany(Plan::class);
    }
    public function ubication(){
        return $this->hasMany(Ubicacion::class);
    }
    public function user(){
        return $this->belongsTo(User::class);
    }
}


您可以使用嵌套数据加载:

$user=user::find(1)
->带有('clients'、'clients.contacto'、'clients.ubiciations'、'clients.plan')
->get();

谢谢,先生,非常感谢您的帮助