我在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)