雄心勃勃的关系与渴望的负荷

时间:2019-04-25 07:47:39

标签: php mysql laravel eloquent mariadb

我有以下代码来获取最终数据$result2

$agent = auth()->user()->id;
$result = App\AgentStatus->select('callId')->where(function($query)use($agent) {
    $query->where('agentId', '=', $agent);
})->first();
$result2 = NULL;
if($result != NULL) {
    $id = $result->callId;
    $calls = App\CallStatus->where(function($query)use($id) {
       $query->where('callId', '=', $id);
    })->first();
    $id = $calls->callerId;
    $result2 = App\Callout->where(function($query)use($id) {
        $query->where('number', '=', $id);
    })->first();
}

型号:

AgentStatus:

protected $primaryKey = 'agentId';

CallStatus

protected $primaryKey = 'callId';

标注:主键是第id

这是我与laravel合作的第一个项目,我想将上面的代码更改为实现关系并渴望加载的代码。目前它可以工作,但是当表中有更多行时,它可能会运行得太慢。

1 个答案:

答案 0 :(得分:1)

Laravel的文档很好

https://laravel.com/docs/5.8/eloquent-relationships

如果您担心性能问题,可以遵循非规范化