2015-10-27 04:45
浏览 87

Laravel Eloquent另一个表中的列的总和

so I have this output:

enter image description here

Here is the code in my controller:

public function showToday()
        $now = new DateTime('today');
        $today = $now->format('Y-m-d');
        $reservations = Reservation::with('room') ->where('reservation_from', $now)

        return \View::make('') -> with('reservations', $reservations)
                                                       -> with('now', $today);


enter image description here

View (blade)

  <div class="box-body table-responsive no-padding">
    <table class="table table-bordered">
          <th>Room #</th>
          <th>Reservation From</th>
          <th>Reservation To</th>
          <th>Booked At</th>
        @foreach($reservations as $res)
          <td>{{ $res -> room -> room_number }}</td>
          <td>{{ date('F d, Y', strtotime($res -> reservation_from)) }}</td>
          <td>{{ date('F d, Y', strtotime($res -> reservation_to)) }}</td>
          <td>{{ $res -> created_at }}</td>
          <td>{{ $res -> room -> price }}</td>
          <td colspan="2"><strong>Total:</strong></td>
          <td><!-- Display price total here --></td>

Reservation Model

class Reservation extends Model
    use SoftDeletes;
    protected $table = 'reservations';

    protected $fillable = ['roomNumber', 'clientId', 'reservation_from', 'reservation_to'];

    public function room() {
        return $this->belongsTo('App\Room');


Room model

class Room extends Model
    use SoftDeletes;
    protected $table = 'rooms';

    protected $fillable = ['id', 'roomNumber', 'type', 'price', 'description'];

    public function reservations() {
        return $this->hasMany('App\Reservation', 'id', 'room_number');

When I try to add this in my controller,

$sum = $reservations['room']->sum( 'price' );

I get an Undefined index: room

What I wanted to is to display the total amount(sum) by adding the prices from the rooms table. How can I do that with Laravel and Eloquent? Thank you in advance.

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

1条回答 默认 最新

相关推荐 更多相似问题