php query 返回数组,php – Laravel查询构建器返回对象或数组?

我正在用Laravel构建一个非常简单的Web应用程序.

我已经构建了两个独立的控制器,每个控制器返回两个单独的视图,如下所示:

ProfileController可:

class ProfileController extends BaseController {

public function user($name)

{

$user = User::where('name', '=', $name);

if ($user->count())

{

$user = $user->first();

$workout = DB::table('workouts')->where('user_id', '=', $user->id)->get();

Return View::make('profile')

->with('user', $user)

->with('workout', $workout);

}

return App::abort(404);

}

}

WorkoutController:

class WorkoutController extends BaseController {

public function workout($name)

{

$workout = DB::table('workouts')->where('name', '=', $name)->first();

if ($workout)

{

Return View::make('add-exercise')

->with('workout', $workout);

}

return App::abort(404);

}

}

令我困惑的是我为了将单个锻炼对象传递给每个视图而必须做的事情.您可能已经注意到,用于锻炼的查询构建器是不同的:

$workout = DB::table('workouts')->where('user_id', '=', $user->id)->get();

$workout = DB::table('workouts')->where('name', '=', $name)->first();

在配置文件视图中,我使用 – > get();获取对象方法,但在add-exercise视图中,我必须使用 – > first();或者我将得到一个只有一个索引的数组,然后我可以访问该对象,即$workout [0] – > name而不是$workout-> name.

为什么是这样?我不应该能够在两个控制器中使用get和/或first,并期望同一类型的结果,因为我想从同一个表中获取相同的东西吗?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值