Php 从数据库/验证返回ID

Php 从数据库/验证返回ID,php,database,validation,laravel,Php,Database,Validation,Laravel,我尝试在注册后返回一个ID,以便在按摩中回显它。我试过了,但没用 public function store(Request $request){ $rules = [ 'name' => ['required'], 'surname' => ['required'], 'mac_address' => ['required','min:17','max:17','unique:registrations'], 'phone' => [

我尝试在注册后返回一个ID,以便在按摩中回显它。我试过了,但没用

public function store(Request $request){
  $rules = [
    'name' => ['required'],
    'surname' => ['required'],
    'mac_address' => ['required','min:17','max:17','unique:registrations'],
    'phone' => ['between:9,11'],
  ];

  $this->validate($request,$rules);

  $mac_address = $request->input('mac_address');

  $registration = Registration::create($request->all());

$id = Registration::select('id')
              ->where('mac_address',$mac_address)
              ->get();

    return redirect('registration') -> with("message","Your ID :",$id);
}
第二个问题。是否有和验证选项来请求名称中的第一个大号字母

Thx的所有帮助

您的代码将是:

public function store(Request $request){
  $rules = [
    'name' => ['required'],
    'surname' => ['required'],
    'mac_address' => ['required','min:17','max:17','unique:registrations'],
    'phone' => ['between:9,11'],
  ];

  $this->validate($request, $rules);

  $mac_address = $request->input('mac_address');

  $registration = Registration::create($request->all());

  $id = $registration->id;

  return redirect('registration')->with("message","Your ID : ".$id);
}
Laravel模型(注册扩展模型)返回最后插入的详细信息,因此您可以使用
$Registration
获取所有数据

希望这能奏效


另外,我不知道是否有验证选项来请求名称中的第一个大写字母。

您可以通过$registration变量直接访问用户的id, 试试这个:

 return redirect('registration')->with("message","Your ID :", $registration->id);

请注意,$registration可能有一个ID与之关联。对于第二个问题,您需要使用正则表达式验证规则否它不起作用,因为我不插入它,ID是自动递增的。因此,您希望从用户处获取mac_地址?我尝试通过mac_地址从注册用户处获取ID,因为它是唯一的是,使用上面的代码,您将获得最新的用户id。错误是什么?是否添加了用户?你能甩掉美元吗?