2016-02-19 4 views
0

Я использовал Laraval's Accessors and Mutators, чтобы по существу перезаписать столбец group на моем столе, выполнив это на моей модели;Как игнорировать мутаторы и аксессоры, когда требуется

public function getGroupAttribute($value) 
{ 
    if(config('app.pages.'.$value)) { 
     return $value; 
    } 
    return "city"; 
} 

$value Так что, если в конфиге, вернуть $value еще вернуть значение по умолчанию.

Это хорошо работает. Единственная проблема - теперь я использую Maatwebsite для экспорта набора данных. Мне действительно нужно реальное значение, хранящееся в базе данных. И на данный момент он этого не делает, он возвращает group после того, как он был «мутирован» с помощью вышеупомянутого метода.

Что я могу сделать?

+0

Вы можете получить данные модели в массив вручную и передать массив. –

+0

Можете ли вы? Как? Я думаю, что он по-прежнему будет проходить через мутатор – mikelovelyuk

+0

Мутаторы используются Eloquent, но модели все еще являются объектами php, поэтому вы можете получить к ним доступ, как обычно. –

ответ

0

Я думаю, что переопределить стандартное свойство не очень хорошо.

Вы можете создать свой собственный мутатор, используя другое свойство, например getComputerGroupAttribute, чтобы вы могли использовать оригинальные элементы объекта, когда вам это нужно.

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

  • Нет связанных вопросов^_^