小编ceb*_*ebe的帖子

Yii2 Active Record JSON响应,类型转换问题

我在Yii2中面临奇怪的问题我有一个查询,其中有一个与代理表的连接和一个(一对多)作业与任务的关系它工作正常但问题是它返回字符串中的所有内容.以下是查询:

 $query = self::find()
        ->select("job.*, agent.first_name,agent.last_name")
        ->leftJoin('agent', 'job.agent_id = agent.id')
        ->with('tasks')
        ->asArray()
        ->all();
Run Code Online (Sandbox Code Playgroud)

和JSON编码结果:

{
  "success": true,
  "data": [
  {
  "id": "10",
  "customer_id": "1",
  "job_type": "normal",
  "created": "2016-06-22 10:19:25",
  "first_name": "Shayan",
  "last_name": "",
  "tasks": [
    {
      "id": "10",
      "job_id": "10",
      "title": "bring food",
      "instruction": null,
      "created": "2016-06-22 10:19:25",

    },
    {
      "id": "10",
      "job_id": "10",
      "title": "bring pizza",
      "instruction": null,
      "created": "2016-06-22 10:19:25",

    },
  ]
}
Run Code Online (Sandbox Code Playgroud)

如果你注意到像id,customer_id和job_id这样的字段,这些字段都是整数但它以字符串形式返回.但是如果我从上面的查询中删除 - > asArray()它会返回有效的类型转换,但问题是它跳过关系和leftJoin代理表字段,它只返回作业表字段,这是从上面的查询中删除 - > asArray()后的响应.

{
"success": true,
"data": [

 {
  "id": 10, …
Run Code Online (Sandbox Code Playgroud)

php json yii yii2

5
推荐指数
2
解决办法
1075
查看次数

标签 统计

json ×1

php ×1

yii ×1

yii2 ×1