laravel 4.2 eloquent: 获取所有() + 相关列
laravel 4.2 eloquent: get all() + related column
假设我们有 2 个模型,具有以下关系:
用户:
public function BookCode() {
return $this->hasOne( 'BookCode' );
}
书号:
public function User() {
return $this->belongsTo( 'User' );
}
现在我们想从 BookCode(如果 none 则为空)获取 book_code 的所有用户记录作为数组。这样的事情可能吗?我想到的唯一一件似乎很慢(执行需要 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_code 的 "in one go" 用户?现在 5 小时内找不到任何解决方案。
设置应该预先加载的关系。
$users = User::with('BookCode')->get();
假设我们有 2 个模型,具有以下关系:
用户:
public function BookCode() {
return $this->hasOne( 'BookCode' );
}
书号:
public function User() {
return $this->belongsTo( 'User' );
}
现在我们想从 BookCode(如果 none 则为空)获取 book_code 的所有用户记录作为数组。这样的事情可能吗?我想到的唯一一件似乎很慢(执行需要 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_code 的 "in one go" 用户?现在 5 小时内找不到任何解决方案。
设置应该预先加载的关系。
$users = User::with('BookCode')->get();