关于 model 的 $appends,$visible,$connection 的作用?
class Brand extends BaseModel {
protected $connection = 'shop';
protected $table = 'brand';
protected $appends = ['id'];
protected $visible = ['id'];
。。。。。。
}
一个 model 里的
$table 指定数据表名
$counnection $appends $visible 他们分别是起什么作用的呢
我是一棵菜请尽量详细解释一下他们的作用,谢谢!
$connection 是指定要连接的数据库名称,这个名称在 config/database.php 中有定义。有时候需要连接多个系统会有用。
$appends
有时候,在转换模型到 数组 或 JSON 时,你希望添加一个在数据库中没有对应字段的属性。
参考$visible
有时候你可能会想要限制包含在模型数组或 JSON 表示中的属性,比如说密码。则可以通过在模型中增加 $hidden 属性定义来实现
,相对于$hidden,你也可以使用 visible 属性来定义应该包含在你的模型数组和 JSON 表示中的属性白名单
参考上边说了一堆,都是我马上找的文档。
一般情况下我是这么查找文档的,以$visible为例子【laravel5.4】:
1,首先在官方文档处搜索:
2,查看下大致查阅下是否是自己想找的选项,然后点击查询,注意图中圆圈的地方,就是要找的关键字:
3,这个时候,刚入门的很多人阅读英文文档会比较吃力,就需要用到了LC的中文文档啦。url后半串,上面的图中对应的是:
/eloquent-serialization#hiding-attributes-from-json
,进入中文文档(需要注意版本切换)将这串字符,复制到官方文档后边,就会变成这样
https://learnku.com/docs/laravel/5.4/eloquent-serialization#hiding-attributes-from-json
,回车即可。为什么不在 laravel-china 中直接搜索呢?因为没有全文搜索功能:smile: ,只能曲线救国了~