2017-08-07 119 views
-1

我在我的應用程序(LARAVEL 5.4)中存儲了一些內容,我想在我的產品主體的底部分享一些下載鏈接,但要將其隱藏起來,除了爲此付費產品。在laravel中向付費用戶顯示頁面的一部分

下面是我如何獲得用戶數據的說明及其對特定產品的要求:

他們的要求的形式:

<form class="form-horizontal" action="{{route('buy_course')}}" method="POST" id="contact_form"> 
    {{ csrf_field() }} 


    <input name="user_id" value="{{ Auth::user()->id }}" class="form-control" type="hidden"> 
    <input name="course_id" value="{{ $course->id }}" class="form-control" type="hidden"> 

    <div class="form-group"> 
    <label class="col-md-3 control-label">UserName</label> 
    <div class="col-md-9 inputGroupContainer"> 
     <div class="input-group"> 
     <span class="input-group-addon"><i class="fa fa-user"></i></span> 
     <input name="username" value="{{ Auth::user()->username }}" class="form-control" type="text" readonly> 
     </div> 
    </div> 
    </div> 

    <!-- Text input--> 
    <div class="form-group"> 
    <label class="col-md-3 control-label">E-Mail</label> 
     <div class="col-md-9 inputGroupContainer"> 
     <div class="input-group"> 
      <span class="input-group-addon"><i class="fa fa-envelope"></i></span> 
      <input name="email" value="{{ Auth::user()->email }}" class="form-control" type="text" readonly> 
     </div> 
    </div> 
    </div> 

    <div class="form-group"> 
    <label class="col-md-3 control-label">Course</label> 
    <div class="col-md-9 inputGroupContainer"> 
     <div class="input-group"> 
     <span class="input-group-addon"><i class="fa fa-graduation-cap"></i></span> 
     <input name="course" value="{{ $course->course_name }}" class="form-control" type="text" readonly> 
     </div> 
    </div> 
    </div> 

    <div class="form-group"> 
    <label class="col-md-3 control-label" for="type">Type</label> 
    <div class="col-md-9 inputGroupContainer"> 
     <div class="input-group"> 
     <span class="input-group-addon"><i class="fa fa-file-code-o"></i></span> 
     <select class="form-control" id="type" name="type"> 
      <option value="">Select Type</option> 
      <option value="Download Link">Download Link</option> 
      <option value="Physical Disk">Physical Disk</option> 
     </select> 
     </div> 
    </div> 
    </div> 

    @if (!empty($course->extra_description)) 
    <div class="form-group"> 
     <label class="col-md-3 control-label" for="type">{{ $course->extra_title }}</label> 
     <div class="col-md-9 inputGroupContainer"> 
     <div class="input-group"> 
      <span class="input-group-addon"><i class="fa fa-file-code-o"></i></span> 
      <select class="form-control" id="type" name="extra_price"> 
      <option value="">Do you need extra?</option> 
      <option value="{{$course->extra_price}}">Yes - Add {{$course->extra_price}} Rp</option> 
      <option value="0">No</option> 
      </select> 
     </div> 
     </div> 
    </div> 
    @endif 
    <div class="form-group"> 
    <label class="col-md-3 control-label">Note to seller</label> 
    <div class="col-md-9 inputGroupContainer"> 
     <div class="input-group"> 
     <span class="input-group-addon"><i class="fa fa-comment-o"></i></span> 
     <textarea name="note" id="text" placeholder="Your note to seller here..." class="form-control" rows="8" ></textarea> 
     </div> 
     <h6 class="pull-right" id="count_message"></h6> 
    </div> 
    </div> 

    <div class="text-center"> 
    <input type="submit" class="btn btn-block btn-success" value="Send"> 
    </div> 
</form> 

控制器:

public function postbuycourse(Request $request) { 
     $this->validate($request, array(
     'user_id' => 'required', 
     'username' => 'required', 
     'email' => 'required|email', 
     'course' => 'required', 
     'note' => 'sometimes|max:500', 
     'type' => 'required', 
    )); 

     DB::table('purchases')->insert([ 
     'user_id' => $request->user_id, 
     'course_id' => $request->course_id, 
     'note' => $request->note, 
     'type' => $request->type, 
     'status' => 0, 
     'invoice_nu' => str_random(15), 
     'created_at' => Carbon::now()->format('Y-m-d H:i:s'), 
     'updated_at' => Carbon::now()->format('Y-m-d H:i:s'), 
     ]); 

     $data = array(
     'username' => $request->username, 
     'email' => $request->email, 
     'course' => $request->course, 
     'note' => $request->note, 
     'type' => $request->type, 
    ); 

     Mail::send('emails.buycourse', $data, function($message) use ($data) { 
     $message->from($data['email']); 
     $message->to('[email protected]'); 
     $message->subject($data['course']); 
     }); 

     $id = $request->course_id; 
     $course = Course::findOrFail($id); 
     Mail::to($request->user())->send(new CourseReceived($course)); 

     Session::flash('flash_message', 'Your Order was sent. Our sell team will contact you shortly.'); 
     return redirect()->back(); 

    } 

這裏是如何我向他們展示了他們的訂單和他們的訂單狀態,如果支付或不支付:

@if (Auth::user()->purchase->count()) 
    <h4><i class="fa fa-graduation-cap"></i> Courses Orders</h4> 
    <table class="mt-20 table table-bordered table-hover table-responsive"> 
    <thead> 
     <tr class="bg-primary"> 
     <th class="text-center">ID</th> 
     <th class="text-center">Invoice Number</th> 
     <th class="text-center">Course Name</th> 
     <th class="text-center">Note</th> 
     <th class="text-center">Sum</th> 
     <th class="text-center">Status</th> 
     <th class="text-center">Time</th> 
     <th class="text-center">Expire</th> 
     <th class="text-center">Options</th> 
     </tr> 
    </thead> 
    <tbody class="text-center"> 
     @foreach ($purchases as $purchase) 
     <tr> 
     <td id="primary">{{$purchase->id}}</td> 
     <td>{{$purchase->invoice_nu}}</td> 
     <td>{{$purchase->course->course_name}}</td> 
     <td> 
      @if(!empty($purchase->note)) 
      {{ $purchase->note }} 
      @else 
      - 
      @endif 
     </td> 
     <td> 
      @if(! empty($purchase->course->course_disscount)) 
       <span class="text-primary">Price: <del>{{$purchase->course->course_price}}</del></span><br> 
       <span class="text-danger">disscount: {{$purchase->course->course_disscount}}</span> 
       <hr> 
       <span class="text-success">Total: {{ number_format($purchase->course->course_price - $purchase->course->course_disscount, 0) }} Rp</span> 
      @else 
      {{ number_format($purchase->course->course_price, 0) }} Rp 
      @endif 
     </td> 
     <td> 
      @if($purchase->status == 0) 
      <span class="text-danger">Waiting Payment</span> 
      @else 
      <span class="text-success">Paid</span> 
      @endif 
     </td> 
     <td>{{ $purchase->created_at->format('d, M, Y | h:i A') }}</td> 
     <td> 
      @if($purchase->status == 0) 
      <span class="text-danger">-</span> 
      @else 
      <span class="text-success">{{ $purchase->created_at->format('d, M, Y | h:i A') }}</span> 
      @endif 
     </td> 
     <td> 
      <a href="#" class="btn btn-sm btn-success btn-block">Payment</a> 
      <a href="{{ route('userscourses.edit', $purchase->id) }}" class="btn btn-sm btn-info btn-block" role="button"><i class="fa fa-pencil"></i> Edit</a> 
      {!! Form::open(['method' => 'DELETE', 'route' => ['userscourses.destroy', $purchase->id] ]) !!} 
      {!! Form::submit('Delete', ['class' => 'btn btn-sm btn-danger btn-block mt-20']) !!} 
      {!! Form::close() !!} 
     </td> 
     </tr> 
     @endforeach 
    </tbody> 
    </table> 

謝謝。

+0

而你想要顯示或隱藏下載鏈接的地方? – Maraboc

+0

@Maraboc我的課程體的底部。如果很難,我可以在數據庫中創建新的文本列,並將其返回到與正文部分一樣的視圖,這很好。 –

回答

0

您可以使用laravel Gatepolicies實現該功能,您可以閱讀一次文檔。

+0

你有什麼樣的嗎?有點困惑如何讓我的購買表,並將其返回給用戶,我認爲最好的方式(最簡單的方法)將返回'@ can',但我如何實現? –

相關問題