Php 当我为get()提供参数时,with()返回null

Php 当我为get()提供参数时,with()返回null,php,laravel,Php,Laravel,我有两个类,BedRequest和RequestThing: class BedRequest extends Model { use HasFactory; protected $table = 'bed_request'; protected $guarded = []; public function requests() { return $this->belongsTo(RequestThing::class, 're

我有两个类,
BedRequest
RequestThing

class BedRequest extends Model
{
    use HasFactory;

    protected $table = 'bed_request';

    protected $guarded = [];

    public function requests()
    {
        return $this->belongsTo(RequestThing::class, 'request_id');
    }
}

class RequestThing extends Model
{
    use HasFactory;

    protected $table = 'requests';

    protected $guarded = [];

    public function bedRequests()
    {
        return $this->belongsTo(BedRequest::class);
    }
}
[
     {
            "post_status": 0,
            "created_at": "2021-05-03T08:29:37.000000Z",
            "requests": {
                "id": 128,
                "name": "John Doe",
                "age": "52",
                "gender": "male",
                "contact": "9101235456",
                "address": "Kentucky",
                "urgency": "urgent",
                "reason": "Some reason",
                "filler_name": "Mahim",
                "filler_contact": "9160236160",
                "filler_address": "Bali",
                "filler_relation": "others",
                "created_at": "2021-05-03T08:29:37.000000Z",
                "updated_at": "2021-05-03T09:47:17.000000Z"
            }
        }
   ]
我试图获得以下输出格式,其中
post\u status
created\u at
BedRequest
requests
的字段,key保存与
RequestThing
相关的数据:

class BedRequest extends Model
{
    use HasFactory;

    protected $table = 'bed_request';

    protected $guarded = [];

    public function requests()
    {
        return $this->belongsTo(RequestThing::class, 'request_id');
    }
}

class RequestThing extends Model
{
    use HasFactory;

    protected $table = 'requests';

    protected $guarded = [];

    public function bedRequests()
    {
        return $this->belongsTo(BedRequest::class);
    }
}
[
     {
            "post_status": 0,
            "created_at": "2021-05-03T08:29:37.000000Z",
            "requests": {
                "id": 128,
                "name": "John Doe",
                "age": "52",
                "gender": "male",
                "contact": "9101235456",
                "address": "Kentucky",
                "urgency": "urgent",
                "reason": "Some reason",
                "filler_name": "Mahim",
                "filler_contact": "9160236160",
                "filler_address": "Bali",
                "filler_relation": "others",
                "created_at": "2021-05-03T08:29:37.000000Z",
                "updated_at": "2021-05-03T09:47:17.000000Z"
            }
        }
   ]
因此,我在控制器中编写了以下代码:

public function bedRequest()
    {    
        $bedRequests = BedRequest::where(['approved' => 1, 'post_status' => 0])->with('requests')->get(['post_status', 'created_at']);
        return $bedRequests;
    }
但当我这么做时,我得到的回应是:

[
    {
        "post_status": 0,
        "created_at": "2021-05-03T08:29:37.000000Z",
        "requests": null
    }
]
requests
键给出
null
值。但是,如果我执行以下操作(即从
get()中删除参数)
requests
键填充了数据,我也收到了
BedRequest
的全部数据。但是,我只需要
post\u status
created\u at
from
BedRequest
requests
中保存
RequestThing
数据的
命令

有人能提出解决方案吗?

您有:

$bedRequests = BedRequest::where(['approved' => 1, 'post_status' => 0])->with('requests')->get(['post_status', 'created_at', 'bedRequest_id']);
对于请求,您将获得null,这可能是因为您 某些特定字段,很可能您没有选择 从创建关系的BedRequest表中foreing_键 如果您的bedRequests表包含外键 (可能是request_id)的requests表,然后您必须选择该表 bedRequests表中的外键。所以,只需添加它 get()参数中的外键/bedRequest\u id。不带 关系生成器密钥(FK)不会加载请求

你有这个:

$bedRequests = BedRequest::where(['approved' => 1, 'post_status' => 0])->with('requests')->get(['post_status', 'created_at', 'bedRequest_id']);
对于请求,您将获得null,这可能是因为您 某些特定字段,很可能您没有选择 从创建关系的BedRequest表中foreing_键 如果您的bedRequests表包含外键 (可能是request_id)的requests表,然后您必须选择该表 bedRequests表中的外键。所以,只需添加它 get()参数中的外键/bedRequest\u id。不带 关系生成器密钥(FK)不会加载请求


你也可以分享你想要的输出吗?是这样的:
[{“post_status”:0,“created_at:“2021-05-03T08:29:37.000000 z”}]
我在问题中提到了想要的输出。请参考“我正在尝试获得以下输出格式…”的段落,你也可以分享你想要的输出吗[{“post_status”:0,“created_at:“2021-05-03T08:29:37.000000 z”}]
我在问题中提到了所需的输出。请参阅“我正在尝试获得以下输出格式…”的段落。。。“这解决了我的问题。虽然响应包含一个额外字段
请求\u id
,但它对我有效。谢谢!这解决了我的问题。虽然响应包含一个额外字段
请求\u id
,但它对我有效。谢谢!