Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 直接返回关系(一对多)值而不是其Id的最佳方法是什么?_Laravel - Fatal编程技术网

Laravel 直接返回关系(一对多)值而不是其Id的最佳方法是什么?

Laravel 直接返回关系(一对多)值而不是其Id的最佳方法是什么?,laravel,Laravel,如何在不进行任何进一步处理的情况下直接返回表示的关系(特定)值 假设我有如下表和关系: user id name status_id 1 Jane 0 2 Joe 1 status id title 1 pending 2 accepted 这里的用户属于status,status有很多用户 public function status() { return $this->belongsTo('App\User'); } public function users(

如何在不进行任何进一步处理的情况下直接返回表示的关系(特定)值

假设我有如下表和关系:

user
id name status_id
1  Jane 0
2  Joe  1

status
id title
1  pending
2  accepted
这里的用户属于status,status有很多用户

public function status()
{
    return $this->belongsTo('App\User');
}

public function users()
{
    return $this->hasMany('App\Status');
}
我的意思是,相反,这种反应(带着急切的负载):

我在找这个:

{ 
   {"id":"1", "user":"Jane","status":"pending" }, 
   {"id":"2", "user":"Joe", "status":"accepted" }
}
附言:我不确定之前是否有人问过,至少我找不到。这可以通过不同的方式进行询问。

您可以定义一个将关系传输到自定义字段的方法,然后对JSON响应隐藏关系本身:

protected $hidden = [ 'userStatus' ];
protected $with = [ 'userStatus' ]; // Always load it eagerly

public function userStatus()
{
    return $this->belongsTo('App\Status'); // I'm assuming this is what you actually have
}

public function getStatusAttribute() {
    return $this->userStatus->title;
}

protected $appends = [ 'status' ];
您可以定义将关系传输到自定义字段的,然后对JSON响应隐藏关系本身:

protected $hidden = [ 'userStatus' ];
protected $with = [ 'userStatus' ]; // Always load it eagerly

public function userStatus()
{
    return $this->belongsTo('App\Status'); // I'm assuming this is what you actually have
}

public function getStatusAttribute() {
    return $this->userStatus->title;
}

protected $appends = [ 'status' ];

定义附件是处理此问题的最佳方法。但是我不知道一个用户在一个点上是否有多个状态。。。。我的意思是你真的需要一个配偶关系吗?定义一个附件是处理这个问题的最好方法。但是我不知道一个用户在一个点上是否有多个状态。。。。我是说你真的需要一个夫妻关系吗?