Isr*_*uño 10 polymorphism laravel eloquent laravel-4
我试图实现多态关系.它们完美地工作......但是,我正在尽可能地减少我的数据库大小......所以我就是这样
Table action
| id | realatable_type | relatable_id
| 1 | Lion\People | 65
| 2 | Lion\Company | 13
Run Code Online (Sandbox Code Playgroud)
显然我是这样的
<?php namespace Lion;
class Company extends \Eloquent { ... }
class People extends \Eloquent { ... }
Run Code Online (Sandbox Code Playgroud)
假设命名空间总是"狮子",有没有办法只存储"人"或"公司"?
Rod*_*ore 23
从Laravel 4.1开始,在您的模型中(在本例中为Company和People),您可以将受保护的属性设置为$morphClass您想要的任何内容.
<?php namespace Lion;
class Company extends \Eloquent {
protected $morphClass = 'Company';
}
Run Code Online (Sandbox Code Playgroud)
现在在您的表中,您可以存储没有命名空间的类型:
| id | realatable_type | relatable_id
| 2 | Company | 13
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3393 次 |
| 最近记录: |