【问题标题】:laravel 4.2 eloquent: get all() + related columnlaravel 4.2 雄辩:获取所有()+相关列
【发布时间】:2016-10-27 15:50:46
【问题描述】:

假设我们有 2 个模型,具有以下关系:

用户:

public function BookCode() {
    return $this->hasOne( 'BookCode' );
}

书号:

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

现在我们想从 User 获取所有记录,其中 book_code 来自 BookCode(如果没有则为空)作为数组。这样的事情可能吗?我唯一想到的,似乎很慢(需要 30 秒才能执行),是:

$users = User::all();

foreach( $users as $user ) {
    $users_array[] = array(
        $user->first_name,
        $user->last_name,

        // this is very slow
        $user->BookCode['book_code'],
        $user->created_at,
        $user->updated_at,
    );
}

是否有可能“一次性”获得一组具有相关 book_codes 的用户?现在 5 小时找不到任何解决方案。

【问题讨论】:

    标签: php laravel-4 laravel-4.2


    【解决方案1】:

    设置应该预先加载的关系。

    $users = User::with('BookCode')->get();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-26
      • 2016-07-22
      • 2014-08-08
      • 2019-07-16
      • 1970-01-01
      • 1970-01-01
      • 2020-12-02
      • 2021-08-09
      相关资源
      最近更新 更多