Php Laravel:设置自定义主键值的方法
我的Php Laravel:设置自定义主键值的方法,php,mysql,laravel,laravel-5,orm,Php,Mysql,Laravel,Laravel 5,Orm,我的文档模型具有自定义主键名称,因此我键入: class Document extends Model { protected $primaryKey = 'fluxo_mensagem_id'; 在此之后,我假设Laravel知道我的主键名,这样我就不必在每次需要设置它的值时手动键入它。比如: $document = new Document; $document->setPrimary($pivot->id); 而不是: $document = new Docume
文档
模型具有自定义主键名称,因此我键入:
class Document extends Model {
protected $primaryKey = 'fluxo_mensagem_id';
在此之后,我假设Laravel知道我的主键名,这样我就不必在每次需要设置它的值时手动键入它。比如:
$document = new Document;
$document->setPrimary($pivot->id);
而不是:
$document = new Document;
$document->fluxo_mensagem_id = $pivot->id;
有关更多详细信息,请参见我的局部ER图:
问题1
Laravel提供了一些方法,可以在模型类上定义自定义名称之后动态设置主键值
问题2
在document
表中,fluxo\u mensage\u id
列是一个外键,它引用id
fluxo\u mensage
透视(中间)表。有一种方法可以将Pivot
对象与Document
模型“关联”(就像我们可以做的那样)
例如:
$pivot = $mensagem->fluxos()->first()->pivot;
$document = new Document;
$document->fluxoMensagem()->associate($pivot);
这符合问题,因为他的意图是在子模型上设置外键。关于问题1:您可以将主键值设置为任何其他值,但需要将$incrementing=false,否则将保存为0
/**
* Indicates if the IDs are auto-incrementing.
*
* @var bool
*/
public $incrementing = false;
问题1:为什么需要更改主键?Q2:在文档中,您可以手动更改文档
fluxo mensagem\u id
prop:$document->fluxo mensagem\u id=$pivot->id代码>@SérgioReis Q1:我不想更改主键,我正在寻找一些创建模型的方法。