php - 如何在 Laravel 中创建多对多关系
问题描述
// the ticket migration
Schema::create('tickets', function (Blueprint $table) {
$table->increments('id');
$table->integer('user_id')->unsigned();
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
$table->string('title');
$table->text('body');
$table->timestamps();
});
// ticket and status
Schema::create('statuses', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->timestamps();
});
Schema::create('ticket_status', function (Blueprint $table) {
$table->integer('ticket_id')->unsigned();
$table->integer('status_id')->unsigned();
$table->primary(['ticket_id','status_id']);
});
// store method
public function store()
{
$this->validate(request(), [
'title' => 'required',
'body' => 'required |min:5'
]);
auth()
->user()
->tickets()
->create(request(['title','body','group','status','priority']));
return redirect('/');
}
我的票有迁移,我必须得到status_id
和ticket_id
。
当我create
在控制器中使用方法时,table status_ticket
不要填充数据。
我没有错误,但我的表是空的。
解决方案
尝试使用保存,而不是创建。然后应该附加模型
推荐阅读
- python - 枚举列表的所有排序排列
- linux - 打印目录的完整路径
- jupyter-lab - 在谷歌云中构建 jupyterlab
- html - 如何创建在悬停时显示图像的链接组件
- r - eventReactive 使用未更改的输入重新计算已计算的对象
- git - git 忽略以点开头的文件
- javascript - 如何使用定义的代码转换 const 国家列表?
- format - Folium Layer Control:如何正确控制显示(字体大小,空间,...)?
- python - 猜数字游戏 Python 3.8
- javascript - Asp.net core 3.1 mvc ajax 发送列表
- > 到控制器