Php 使用Laravel的页面中的动态文本字段

Php 使用Laravel的页面中的动态文本字段,php,mysql,laravel,content-management-system,Php,Mysql,Laravel,Content Management System,我想得到你的帮助/提示,这是我大多数项目经常遇到的问题 例如,我想创建一个包含大量页面的网站,并在页面的不同位置创建一些文本字段(一些在页面顶部,一些在其他位置)。情况是,我希望这些文本字段是动态的(能够在数据库上存储、编辑、显示、删除),但我不知道我的页面迁移的模式是什么,所以每当我想回显文本字段值时,即$Page->field1,$Page->field2 我想下面不是定义迁移中字段的正确方法,所以我想帮助我,哪一个是最好的 public function up() { Schema

我想得到你的帮助/提示,这是我大多数项目经常遇到的问题

例如,我想创建一个包含大量页面的网站,并在页面的不同位置创建一些文本字段(一些在页面顶部,一些在其他位置)。情况是,我希望这些文本字段是动态的(能够在数据库上存储、编辑、显示、删除),但我不知道我的页面迁移的模式是什么,所以每当我想回显文本字段值时,即$Page->field1,$Page->field2

我想下面不是定义迁移中字段的正确方法,所以我想帮助我,哪一个是最好的

public function up()
{
    Schema::create('pages', function (Blueprint $table) {
        $table->increments('id');
        $table->string('title');
        $table->string('field1');
        $table->string('field2');
        $table->string('field3');
        $table->string('field4');
        $table->timestamps();
    });
}

提前感谢您的帮助

我曾经做过以下几件事,也达到了同样的目的。 为页面上的内容创建新模型。我称之为内容。
php artisan make:模型内容-m

在迁移过程中,添加所需的属性,并创建与页面模型的关系

    Schema::create('pages', function (Blueprint $table) {
        $table->increments('id');
        $table->integer('page_id')->references('id')->on('pages');
        $table->string('body'); // the actual text
        $table->integer('page_position');
        $table->timestamps();
    });
您可以使用“page_position”表在刀片视图中的特定位置呈现对象的信息,如简单示例所示

在页面模型上,您创建了访问属于该页面的内容模型的方法

class Page extends Model
{
    /**
     * Get the content models related to this page.
     */
    public function contents()
    {
        return $this->hasMany('App\Content');
    }
}
然后,您可以通过调用关系来访问所有相关内容

 foreach($page->contents as $content){
      $text = $content->body;
 }

请务必阅读

我们使用专用的模型帮助文本来处理这些事情。示例:{{HelpText::get('splash.some_message')}}将呈现翻译文本。但是,如果以管理员身份登录,我们将呈现一个小的编辑按钮/链接以允许编辑