Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 24.10.2017 20:10:09

Как убрать дублирование в модели Eloquent принимаемой через Ajax

На стороне сервера

PHP
public function getEventsByDate(Request $request){
        
$user Auth::user();
        
$dateEvents $request->input('dateEvents');

        
$events Contact_Event::where('datetime''like'$dateEvents.'%')->
                    
whereHas('contact', function ($query) use ($user) {
                        
$query->where('user_id''='$user->id);
                    })->
get();

        if(
count($events)>0){
            return 
Response::json($events->toJson());
        }else{
            return 
Response::json('no_events');
        }
    }

На стороне клиента

PHP
function showDateEvents(DateEvents){
    var 
year String(DateEvents.getFullYear());
    var 
mounth String(Number(DateEvents.getMonth())+1);
    var 
day String(DateEvents.getDate());

    if(
mounth.length 2){
        
mounth "0" mounth;
    }
    if(
day.length 2){
        
day "0" day;
    }
    var 
date year +'-'mounth +'-'day;
    
//console.log(date);
    
var token  = $('meta[name=_token]').attr('content');
    $.
ajaxSetup({ headers: { 'X-CSRF-TOKEN'token }});
    var 
mydata = {};
    
mydata['_token'] = token;
    
mydata['dateEvents'] = date;
    $.
ajax({
        
method"POST",
        
url"./get_events_by_date",
        
cachefalse,
        
datamydata,
        
dataType'json',
        
success: function (response) {
                    
console.log(response);
                    if(
response == 'no_events'){
                        $(
'#events').html('<h4>Дата свободна</h4>');
                        $(
'#events').show();
                    }else{
                        
console.log(response);
                    }
        },
        
error: function (data) {
                    
console.log('Error:'data);
                }
        });
}
...

$( 
document ).ready(function() {
    
console.log"ready!" );
    var 
date = new Date($('#datetimepicker').data("DateTimePicker").date()._d);
    
showDateEvents(date);
});

console:

PHP
ready!
schedule:801 [{"id":2,"contact_id":7,"theme":"\u041f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c...","datetime":"2017-10-24 18:37:04"}]
schedule:806 [{"id":2,"contact_id":7,"theme":"\u041f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c...","datetime":"2017-10-24 18:37:04"}]

Как видно из лога сервер возвращает одно и тоже значение 2 раза.
Это как-то взязано с Eloquent’s model? Как убрать дублирующие значения?

Не в сети

#2 25.10.2017 13:41:11

Re: Как убрать дублирование в модели Eloquent принимаемой через Ajax

Всем сорри! Я зафейлил!
Сам же вызвал console.log(response); 2 раза!
=))

Не в сети

Подвал раздела