有几种方法。
选项 1:最快的可能是这种“只读”模型特征。 https://github.com/michaelachrisco/ReadOnlyTraitLaravel
它可以保护您免受...
选项 2:一种完全不同的方法是在数据库配置和模型连接上。所以,这有两个部分。
project/config/database.php 复制并调整数据库连接。
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
...
'readonly' => [
'driver' => 'mysql',
'read' => [
'host' => env('DB_HOST', '127.0.0.1')
],
'write' => [
'host' => 'this.will.404'
],
...
Run Code Online (Sandbox Code Playgroud)
项目/应用程序/MyReadOnlyModel.php
class MyReadOnlyModel extends Model
{
protected $connection = 'readonly';
...
}
Run Code Online (Sandbox Code Playgroud)
如果您有时陷入希望模型可写的陷阱......我建议在同一张桌子上放置 2 个模型。
应用程序/正常/MyModel.php
应用程序/只读/MyModel.php