2016-11-05 5 views
1

У меня есть модель в Laravel под названием Checkout. Он просто привязан к таблице в базе данных, называемой checkouts.Laravel Models - добавить поле без базы данных

namespace App; 

use Illuminate\Database\Eloquent\Model; 

class Checkout extends Model 
{ 
    protected $primaryKey = 'id'; 
    protected $table = 'checkouts'; 
} 

Что я хотел бы сделать, это добавить поле к модели, которая не является полем в таблице. Возможно ли это?

Если понадобится, я полностью смогу вручную создать модель, но я никогда не видел никаких примеров этого.

Любая помощь была бы принята с благодарностью! Спасибо,

ответ

0

Вы можете использовать Laravel-х Accessor как:

public function getSomeExtraFieldAttribute() 
{ 
    return 2*4; // just for exmaple 
} 

Затем вы можете получить доступ к нему с помощью

$checkout = App\Checkout::find(1); 

$checkout->some_extra_field; 
+0

Я смотрю на документацию ... как я понимаю, если я создаю функцию в модели, называемой getSomeFieldAttribute, я могу назвать это в приложении как some_field (как если бы это было поле из базы данных, связанной с этой моделью) ... Я правильно понимаю это? – aserwin

+0

Да, вы получили его r8, а также можете использовать любой атрибут модели внутри функции 'getSomeFieldAttribute()', используя '$ this' как' $ this-> id' –

+0

Laravel только продолжает улучшаться. Спасибо за вашу помощь. – aserwin