增加laravel 5.6中的count值

时间:2018-07-05 08:23:42

标签: php laravel-5

我有两个表rta_list和rta_reg_company。我在rta_list表中有一个列数。

 Schema::create('rta_list', function (Blueprint $table) {
    $table->increments('rta_id');
    $table->string('rta_name');
    $table->string('rta_address');
    $table->string('rta_phone');
    $table->string('rta_email')->unique();
    $table->integer('count'); 
    $table->timestamps();
});

 Schema::create('rta_reg_company', function (Blueprint $table) {
    $table->increments('company_id');
    $table->integer('rta_id')->unsigned();
    $table->foreign('rta_id')
        ->references('id')
        ->on('rta_lists')
        ->onDelete('cascade');
    $table->string('company_name');
    $table->string('company_isin');
    $table->string('company_script');
    $table->string('company_address');
    $table->string('company_phone');
    $table->string('company_email');
    $table->timestamps();
});

当我添加新的RTA注册公司时,我想通过rta_id增加rta_list表的计数值。例如:如果我添加一个公司,则必须在rta_reg_company表中添加该值,并且rta_list表中的count列中的count必须为1。

此外,还如何在视图中通过rta_id显示计数值。 需要帮助.....

1 个答案:

答案 0 :(得分:1)

您可以使用laravel Observer在创建模型时引发一个事件。然后可以在模型Observer上进行如下更新:

public function created(Company $company)
    {
        DB::table('rta_list')->increment('count');
    }