我有这个表,这是我对同一个
的迁移 $table->increments('id');
$table->integer('voucher_id');
$table->integer('voucher_item_id');
$table->integer('voucher_item_quantity');
$table->integer('voucher_dealer');
$table->integer('voucher_item_main_category');
$table->integer('voucher_item_sub_category');
$table->integer('voucher_type');
$table->timestamps();
$table->softDeletes();
这是模型
use softDeletes;
use Notifiable;
protected $primaryKey = 'voucher_id';
protected $table = 'vouchers';
现在voucher_id是primary key
..
并且它可以是多行的相同数字..
像这样
id voucher_id item_total
1 1 15
2 1 16
3 1 17
现在在页面vouchers.index
中,它将显示三行id,1 id,2 id,3
如何让Laravel从主键中删除重复,并仅使用重复中的一个数字
以及如何在一个表格中建立one-to-many
关系
喜欢
select * from vouchers where voucher_id=1
答案 0 :(得分:1)
使列唯一:
$table->integer('voucher_id')->unique();`
但如果您只需要voucher_id
作为该表的主键,我建议您删除id
列并添加以下内容:
$table->integer('voucher_id');
$table->primary('voucher_id');
这样,您将voucher_id
作为主键,它将是一个唯一值。
您的迁移将是:
$table->integer('voucher_id');
$table->primary('voucher_id');
$table->integer('voucher_item_id');
$table->integer('voucher_item_quantity');
$table->integer('voucher_dealer');
$table->integer('voucher_item_main_category');
$table->integer('voucher_item_sub_category');
$table->integer('voucher_type');
$table->timestamps();
$table->softDeletes();
答案 1 :(得分:1)
像这样更改您的迁移:
$table->integer('voucher_id');
$table->primary('voucher_id');
$table->integer('voucher_item_id');
$table->integer('voucher_item_quantity');
$table->integer('voucher_dealer');
$table->integer('voucher_item_main_category');
$table->integer('voucher_item_sub_category');
$table->integer('voucher_type');
$table->timestamps();
$table->softDeletes();