2013-09-03 1 views
0

Как расширить метод get() в классе eloquent, чтобы добавить код, который делает соединение, когда он вызывается.Как расширить метод get() в eloquent

Всякий раз, когда метод all(), найти или get() называется, добавить, что присоединиться:

static::join('clientes', 'clientes.id', '=', 'faturas.cliente_id'); 

Благодарности

ответ

0

Вы пробовали eager loading? Вы также можете установить protected $with = array('clients'); в своей модели.

Вы также можете перегрузить метод newQuery, расширив класс модели.

class BaseModel extends Model { 

    public function newQuery($excludeDeleted = true) 
    { 
     $builder = parent::newQuery($excludeDeleted); 

     $builder->join('clientes', 'clientes.id', '=', 'faturas.cliente_id'); 

     return $builder; 
    } 
} 
+0

Отлично! Еще один вопрос ... Я создал атрибут в моей красноречивой модели, такой как protected $ table = 'products'; protected $ view = 'v_products'; Если вызванный метод является «select», как all(), find() или get(), я хочу использовать представление, но если метод update() или insert() используют таблицу. Спасибо –

+0

Не могли бы вы предоставить дополнительную информацию о вашем представлении? Можете ли вы выполнять обновления SQL в своем представлении? Что делает вид? – r15ch13

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

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