Php Can';来自控制器的t访问值(Laravel 5.3)

Php Can';来自控制器的t访问值(Laravel 5.3),php,laravel,laravel-5.3,Php,Laravel,Laravel 5.3,我想从视图中的查询中访问值 $bookings = DB::table('bookings') ->join('staffs', 'staffs.id' , '=', 'bookings.staff_id') ->join('customers', 'customers.id' , '=', 'bookings.customer_id') ->select('bookings.id', 'bookings.

我想从视图中的查询中访问值

$bookings = DB::table('bookings')
            ->join('staffs', 'staffs.id' , '=', 'bookings.staff_id')
            ->join('customers', 'customers.id' , '=', 'bookings.customer_id')
            ->select('bookings.id', 'bookings.start_time',  'bookings.end_time', 'bookings.service', 'staffs.name as Staff-Name',  'customers.name as Customer-Name')
            ->orderBy('customers.name', 'desc')
            ->get();

        return view('booking.index')->with('bookings', $bookings);
这很容易理解。我想做的是,我想得到bookings表中的start\u time,end\u time,name是staffers表,也是customers表中的name

现在我做的是:

@foreach($bookings as $booking)
  {{ $booking->start_time }}
  {{ $booking->end_time }} 
  {{ $booking->name }} // name column which is in customers table
@endforeach
但是这些东西似乎不起作用。

试试这个

$bookings = DB::table('bookings')
        ->join('staffs', 'staffs.id' , '=', 'bookings.staff_id')
        ->join('customers', 'customers.id' , '=', 'bookings.customer_id')
        ->select('bookings.id', 'bookings.start_time',  'bookings.end_time', 'bookings.service', 'staffs.name as Staff-Name',  'customers.name as Customer-Name')
        ->orderBy('customers.name', 'desc')
        ->get();

        return view('booking.index')->with(compact('bookings'));
试试这个

$bookings = DB::table('bookings')
        ->join('staffs', 'staffs.id' , '=', 'bookings.staff_id')
        ->join('customers', 'customers.id' , '=', 'bookings.customer_id')
        ->select('bookings.id', 'bookings.start_time',  'bookings.end_time', 'bookings.service', 'staffs.name as Staff-Name',  'customers.name as Customer-Name')
        ->orderBy('customers.name', 'desc')
        ->get();

        return view('booking.index')->with(compact('bookings'));

$bookings包含一个数据数组。您可以像这样在视图中打印这些

@foreach($bookings as $booking)
    {{$booking->start}}
    {{$booking->end_time}}
@endforeach

$bookings包含一个数据数组。您可以像这样在视图中打印这些

@foreach($bookings as $booking)
    {{$booking->start}}
    {{$booking->end_time}}
@endforeach

这都是因为您使用的是列名,而不是您设置的别名

以customers.name命名为Customer name为例,看看它

->select('bookings.id', 'bookings.start_time',  'bookings.end_time', 'bookings.service', 'staffs.name as Staff-Name',  'customers.name as Customer-Name')
如果要访问数据,您需要这样做:

@foreach($bookings as $booking)
  {{ $booking->start_time }}
  {{ $booking->end_time }} 
  {{ $booking->Customer-Name }} // name of alias
@endforeach

无论如何,我认为别名中的破折号不是一个好的解决方案,应该使用下划线
(customers.name作为Customer\u name)
$booking->Customer\u name
这都是因为您使用的是列名,而不是您设置的别名

以customers.name命名为Customer name为例,看看它

->select('bookings.id', 'bookings.start_time',  'bookings.end_time', 'bookings.service', 'staffs.name as Staff-Name',  'customers.name as Customer-Name')
如果要访问数据,您需要这样做:

@foreach($bookings as $booking)
  {{ $booking->start_time }}
  {{ $booking->end_time }} 
  {{ $booking->Customer-Name }} // name of alias
@endforeach

无论如何,我认为别名中的破折号不是一个好的解决方案,应该使用下划线
(customers.name作为Customer\u name)
$booking->Customer\u name

像dd($bookings)一样打印$bookings的值我在做dd($bookings)时得到了预期的结果,但是现在当{{$booking->start\u time}像dd($bookings)一样打印$bookings的值时,我在做dd($bookings)时得到了预期的结果,但是现在当{{$booking->start_time}