hre*_*tic 8 php laravel laravel-5 laravel-5.2
在我的模型中我有
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Page extends Model
{
//
}
Run Code Online (Sandbox Code Playgroud)
在我的控制器中,我可以说Page:all()并从pages表中获取所有行,但我没有看到数据库中的Page模型和pages表之间的任何连接
它只是根据型号名称猜测表格名称(最后是额外的s的小写)或者在其他地方提到它?
正如你在文档中看到的,这是Laravel的魔力:-)
https://laravel.com/docs/5.2/eloquent#defining-models(参见表名)
如果需要,可以由用户手动设置另一个名称
protected $table = 'my_table_name';
更进一步,这就是Laravel在你可以找到的基础模型中获取表名的方式 /vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php
/**
* Get the table associated with the model.
*
* @return string
*/
public function getTable()
{
if (isset($this->table)) {
return $this->table;
}
return str_replace('\\', '', Str::snake(Str::plural(class_basename($this))));
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4003 次 |
| 最近记录: |