Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何散列最后一个插入id并设置到请求中,然后保存到laravel中的db中。?_Laravel_Hash_Eloquent - Fatal编程技术网

如何散列最后一个插入id并设置到请求中,然后保存到laravel中的db中。?

如何散列最后一个插入id并设置到请求中,然后保存到laravel中的db中。?,laravel,hash,eloquent,Laravel,Hash,Eloquent,下面是我的要求,非常好。我只是想知道这是两次使用save函数的最佳方法吗?这真的让我很困扰,我正在寻找一种最好的方法来散列最后一个insert id并设置为visitor_id以保存到db中。 记住,在散列访问者id之前,我正在发送$request->visitor\u id NULL 这是我的要求: $visit->funnel_id = $request->funnel_id; $visit->page_id = $request->page_id; $visit-

下面是我的要求,非常好。我只是想知道这是两次使用save函数的最佳方法吗?这真的让我很困扰,我正在寻找一种最好的方法来散列最后一个insert id并设置为visitor_id以保存到db中。 记住,在散列访问者id之前,我正在发送
$request->visitor\u id NULL

这是我的要求:

$visit->funnel_id = $request->funnel_id;

$visit->page_id = $request->page_id;
$visit->traffic_source_id = $request->traffic_source_id;
$visit->visitor_id = $request->visitor_id;
$visit->save();

$hashid = new Hashid();
$visit->visitor_id = $hashid->encode($visit->id);
$visit->save();


试一试


您可以添加“nextId”功能,并在访客模型中包括
illumb\Support\Facades\DB
facade

public function nextId(){
   $statement = DB::select("SHOW TABLE STATUS LIKE '".$this->getTable()."'");
   return $statement[0]->Auto_increment;
}
您可以在代码中实现如下内容:

$visit->funnel_id = $request->funnel_id;

$visit->page_id = $request->page_id;
$visit->traffic_source_id = $request->traffic_source_id;
$hashid = new Hashid();
$visit->visitor_id = $hashid->encode($visit->nextId());
$visit->save();

访客Id是否为自动递增主键?@SurenderSinghRawat不会将访客Id名称解释为某个表的Id。我的意思是,就数据库而言,它不是某个表的外键或主键。我想你还没有明白我的意思,我已经在这么做了。我在寻找最好的解决方案意味着寻找一行代码,将不必使用多次保存功能。或者使用两次保存功能。我的代码行运行良好,我只是在寻找最好的解决方案。
$hashid = new Hashid();
$visit->visitor_id = $hashid->$visit->id;
$visit->save();
public function nextId(){
   $statement = DB::select("SHOW TABLE STATUS LIKE '".$this->getTable()."'");
   return $statement[0]->Auto_increment;
}
$visit->funnel_id = $request->funnel_id;

$visit->page_id = $request->page_id;
$visit->traffic_source_id = $request->traffic_source_id;
$hashid = new Hashid();
$visit->visitor_id = $hashid->encode($visit->nextId());
$visit->save();