2016-04-25 3 views
3

Я хочу, чтобы сохранить данные Регистрационный номер в моем Laravel проекте, гдеPHP -laravel Как сохранить пользовательские данные из пользовательского ввода

Registration Number format: <dept code>-<current year>-XXX. For example, CSE-2012-001, 

Вот код отдела будет поступать из стороны пользовательского интерфейса, когда пользователь выбирает определенный отдел. Как это сделать .. Любая идея или возможное решение?

Вот мой контроллер:

public function saveStudent(Request $request) 
    { 
     $this->validate($request,[      
      'email' => 'required|unique:students', 
      'contact_no' => 'required|regex:/(01)[0-9]{9}/',  

      ]); 
      $student = new Student();   
      $student->name = $request->Input(['name']);  

      $student->email = $request->Input(['email']); 
      $student->contact_no = $request->Input(['contact_no']);  
      $student->address = $request->Input(['address']); 
      $student->date = $request->Input(['date']);  
      $student->department_id=$request->Input(['department_id']); 
      $student->registraion_number =    
      $teacher->save();    
      return redirect('teacherSavePage'); 
    } 

Вот мое лезвие Вид:

@extends('layouts.master') 
@section('title') 
Student Registration 
@endsection 
@section('content') 
@include('partials.message-block') 
     <div class="container" > 
      <h3> Student Registration </h3> 
     {!! Form::open(array('route' => 'saveStudent','class'=>'form-horizontal','method'=>'POST')) !!} 
    {!! Form::token(); !!} 
    {!! csrf_field() ; !!} 

      <div class="form-group"> 
       <label>Name</label> 
       <input type="text" name="name" class="form-control" required placeholder="Name"> 
      </div> 

      <div class="form-group"> 
       <label>Email</label> 
       <input type="email" name="email" class="form-control" required placeholder="Email"> 
      </div> 

      <div class="form-group"> 
      <label>Phone</label> 
      <input type="text" name="contact_no" class="form-control" required placeholder="Phone"> 
     </div> 

     <div class="form-group"> 
      <label>Date</label> 
      <input type="text" id="txtDate" name="date" class="form-control" required > 
     </div> 

     <div class="form-group"> 
      <label>Address</label>   
      <textarea class="form-control" name="address" required placeholder="Address" rows="3"></textarea> 
     </div> 

     <div class="form-group"> 
      <label for="">Department</label> 
      <select class="form-control input-sm" required name="department_id" > 
      @foreach($department as $row) 
      <option value="{{$row->id}}">{{$row->name}}</option> 
      @endforeach 
      </select> 
     </div> 

      <button type="submit" class="btn btn-default">Submit</button> 
     {!! Form::close() !!} 
     </div> 

    <script type="text/javascript"> 
    $(document).ready(function() { 
       $('#txtDate').datepicker(); 
       $('#txtDate').datepicker('setDate', 'today'); 
     }); 
    </script> 

@endsection 
+0

как о $ student-> registraion_number = $ student-> department_id + year + xxx; + = Объединить и использовать вспомогательную функцию для текущего года или углерода и значение xxx. –

ответ

2

Если я вас правильно понял, это должно быть что-то вроде этого:

$currentId = Student::orderBy('id', 'desc')->first()->id + 1; 

$student->registraion_number = $student->department_id.'-'.date("Y").'-'.$currentId; 
+0

Это должен быть код отдела '$ student-> department_code' Но это также произойдет, когда пользователь выберет отдел, И нет таблицы учеников, где я могу получить это значение $ currentId' Value, я думаю, что быть счетчиком, где я могу отслеживать этот 'XXX' ?? – User57

+0

Ну, в этом случае вам действительно нужно показать полный код. Кроме того, вы говорите мне, что нет студенческой таблицы, но в вашем коде вы пытаетесь сохранить данные где-то. И вы обязательно сохраните регистрационный номер где-нибудь, чтобы вы могли просто использовать идентификатор этой таблицы. –

+0

Threre - проблема с $ currentId, потому что во второй раз я храню некоторые данные, которые отображаются ниже Error, 'Объект класса App \ Student не может быть преобразован в int' – User57

Смежные вопросы