0
大家好,我想要做的第一件事就是將附加到房間表的酒店表中的數據顯示到單個列表頁面。渴望加載與Yajra Laravel的關係錯誤
我收到此錯誤
異常消息:調用未定義的方法應用程序\酒店::地圖()
RoomController.php
public function apiRoom() {
$hotels = Room::with('hotel');
return Datatables::eloquent($hotels)
->addColumn('hotel', function (Room $htl) {
return $htl->hotel->map(function ($hotellist) {
return str_limit($hotellist->hotel_name);
});
});
$rooms = Room::all();
return Datatables::of($rooms)
->addColumn('action', function ($rooms) {
return '<a onclick="editForm('.$rooms->id.')" data-toggle="tooltip" data-original-title="Edit"> <i class="fa fa-pencil text-inverse m-r-10"></i> </a>'.
'<a onclick="deleteData('.$rooms->id.')" data-toggle="tooltip" data-original-title="Close"> <i class="fa fa-close text-danger"></i> </a>';
})->make(true);
房-list.blade.php
var table = $('#room-table').DataTable({
processing: true,
serverSide: true,
ajax: "{{ route('api.room') }}",
columns: [
{data: 'id', name: 'id'},
{data: 'hotel', name: 'hotel.hotel_name'},
{data: 'room_name', name: 'room_name'},
{data: 'bonus_sum', name: 'bonus_sum'},
{data: 'action', name: 'action', orderable: false, searchable: false}
]
});
模型文件Room.php
class Room extends Model {
protected $primaryKey = 'id';
protected $fillable = ['hotel_id', 'room_name', 'bonus_sum'];
public function Hotel() {
return $this->belongsTo('App\Hotel', 'hotel_id');
}
}
愛你的答案。簡短而恰到好處! –