2016-09-16 2 views
2

Я хочу петлю каждое назначение и поместить его в JSON как это:Данные цикла в json?

[ 
    { 
     "id":"1", 
     "title":"Test 1", 
     "start":"2016-09-16 12:00:00", 
     "end":"2016-09-16 14:00:00", 
     "allDay":false 
    }, 

    { 
     "id":"2", 
     "title":"Test 2", 
     "start":"2016-09-15 12:00:00", 
     "end":"2016-09-15 14:00:00", 
     "allDay":false 
    } 
] 

У меня есть таблица appointments в базе данных.

id | title | appointment_date_start | appointment_date_end | 
------------------------------------------------------------- 
1 | Test 1 | 2016-09-16 12:00:00 | 2016-09-16 14:00:00 | 
2 | Test 2 | 2016-09-15 12:00:00 | 2016-09-15 14:00:00 | 

В моей feed.blade.php я получаю все данные. Так что я могу сделать:

@foreach ($appointments as $appointments) 

    {{ $appointment->id }} 
    {{ $appointment->title }} 
    {{ $appointment->appointment_date_start }} 
    {{ $appointment->appointment_date_end }} 

@endforeach 

Это выводит данные из базы данных. Но как это сделать в массиве?

Как

$event_array[] = array(
    'id' => {{ $appointment->id }}, 
    'title' => {{ $appointment->gender }}, 
    'start' => {{ $appointment->appointment_date_start }}, 
    'end' => {{ $appointment->appointment_date_end }}, 
    'allDay' => false 
); 

Редактировать

Я попробовал это в моей общественной функции

public function feed() 
{ 
    $feed = Appointment::all(); 
    return $feed->toJson(); 
    return view('appointments/feed'); 
} 

Это то, что я получаю

{ 
    id: 35, 
    user_id: 1, 
    gender: "men", 
    appointment_date_start: "2016-09-14 20:00:00", 
    appointment_date_end: "2016-09-14 20:40:00", 
    created_at: "2016-09-16 08:16:16", 
    updated_at: "2016-09-16 08:16:16" 
} 

Мне нужно удалить gender, created_at and updated_at, и begin_date_start должен быть запущен, а session_date_end должен быть завершен? Это возможно?

ответ

1

Если вы хотите удалить created_at и updated_at, просто не выбрать атрибуты при выборке данных из базы данных:

$feed = Appointment::select('id', 'user_id', 'appointment_date_start as start', 'appointment_date_end as end')->get(); 
// leave created_at and updated_at 
// select('old as new') to change the attribute name 

Затем закодировать массив в JSON с json_encode

return json_encode($feed); 
+0

Да, это работает, но есть ли способ изменить имя из appoinment_date_start, чтобы начать? – twoam

1

Вы можете просто пойти {{ $appointments->toJson() }}, это то, что вы хотите?

+0

Может вы проверяете мое редактирование? – twoam

+0

Я думаю, на ваш вопрос ответили, не так ли? – jsphpl

Смежные вопросы