php - 保存数据库行的状态

标签 php mysql laravel orm eloquent

我是 PHP 新手。 我有在 Laravel 上创建的管理面板(后台)。 面板上显示来自 MySQL 表(演示)的出价列表(演示)。

我已经删除了下面代码中的所有 html。

以下代码在演示 View 中显示表中的每一行:

@foreach($listDemos as $demo)
  {{ $demo->id }}
  {{ $demo->name }}
  {{ $demo->email }}
  {{ $demo->link }}
  {{ $demo->created_at }}
@endforeach

这是演示 Controller

public function demo()
    {
      $listDemos = Demo::all();
      return view('backstage.demos')->with('listDemos', $listDemos);
    }

这里是演示路线:

Route::get('backstage/demos', 'BackstageController@demo');

我有另一个 mysql 表 (demoStatus),有 2 列

id and status

问题是如何通过单击演示 View 中的按钮将状态(拒绝)存储在不同的表中(demoStatus,其中 id = 演示表中的演示 id,状态 = 按钮值):

@foreach($listDemos as $demo)
  {{ $demo->id }}
  {{ $demo->name }}
  {{ $demo->email }}
  {{ $demo->link }}
  {{ $demo->created_at }}

  <form action="" method="post">
     {{ csrf_field() }}
    <button type="submit">Decline</button>
  </form>
@endforeach

CSRF字段存储在每个页面的头部

<meta name="csrf-token" content="{{ csrf_token() }}">

对于 demoStatus,我有另一个模型:

class DemoStatus extends Model
{
    protected $table = 'demosStatus';
    protected $fillable = 'status';
}

和演示模型:

class Demo extends Model
{
    protected $table = 'demos';
}

最佳答案

实际上,您必须在提交时发送该演示 ID。一种方法是使用隐藏字段。

<form action="some/action/here" method="post">
     {{ csrf_field() }}
    <input type="hidden" name="demo_id" value="{{ $demo->id }}" />
    <button type="submit">Decline</button>
</form>

这篇文章的提交路径。获取此演示 ID 并做任何您想做的事情

关于php - 保存数据库行的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44559440/

相关文章:

php - Laravel 5 PHP Domdocument 400 错误请求

php - Zend DB/Adapter/Query() 如何运行通配符搜索

php - 在 php 中创建注册表

php - Laravel 8 问题与子文件夹内的 Controller

php - 使用 PHP 和 mySQL 格式化搜索结果

mysql - 数据库中的字符集和排序规则

mysql - SQL GROUP BY 返回空集

php - 在php中更新一行mysql

php - laravel如何执行多个后台进程?

Laravel Elixir 路径