2016-11-14 4 views
1

Я просто хочу обновить таблицу базы данных Time_tracker, но я все время получаю ошибку, когда пытаюсь что-то сделать. Кто-нибудь может мне с этим помочь? текущая ошибка ErrorException в строке PaypalController.php 57: Попытка получить свойство не-объектаLaravel 5.2 Обновление таблицы базы данных

это код.

PaypalController.php

<?php 

namespace App\Http\Controllers; 

use Illuminate\Support\Facades\Input; 

use Illuminate\Support\Facades\Validator; 

use Illuminate\Support\Facades\Redirect; 

use Illuminate\Support\Facades\Request; 

use Illuminate\Support\Facades\Session; 

use Illuminate\Support\Facades\Auth; 

use Illuminate\Support\Facades\DB; 

use Illuminate\Mail\Mailer; 

use App\Maintenance; 

use App\Time_tracker; 


class PaypalController extends Controller { 

/** 
* Create a new controller instance. 
* 
* @return void 
*/ 
public function __construct() 
{ 
    $this->middleware('auth'); 
} 

/** 
* Show the application dashboard. 
* 
* @return \Illuminate\Http\Response 
*/ 

public function index() { 

return view('paypal'); 

} 

public function success() { 
$price = \Session::get('value_price'); 
$value = $price; 
if($value == '465'){ 

    $user_id = Auth::user()->id; 

    $Totalpurchase = DB::table('time_tracker')->where('user_id', $user_id->user_id)->sum('purshase_time');   

     $purchase = $Totalpurchase + 15; 

     DB::table('users') 
      ->where('user_id', $user_id) 
      ->update(['status' => 'paid', 
         'purshase_time' => $purchase_time 
      ]); 

}elseif($value == '700'){ 

    $user_id = Auth::user()->id; 

    $Totalpurchase = DB::table('time_tracker')->where('user_id', $user_id->user_id)->sum('purshase_time'); 

     $purchase = $Totalpurchase + 25; 

     DB::table('users') 
      ->where('user_id', $user_id) 
      ->update(['status' => 'paid', 
         'purshase_time' => $purchase_time 
      ]); 


}elseif($value == '1300'){ 

    $user_id = Auth::user()->id; 

    $Totalpurchase = DB::table('time_tracker')->where('user_id', $user_id->user_id)->sum('purshase_time'); 

     $purchase = $Totalpurchase + 50; 

     DB::table('users') 
      ->where('user_id', $user_id) 
      ->update(['status' => 'paid', 
         'purshase_time' => $purchase_time 
      ]); 

} 


return view('success');  

} 


public function failed() { 

return view('failed'); 

} 


} 

ответ

1

Вы попытались получить доступ к user_id свойства из целого числа ($user_id):

$Totalpurchase = DB::table('time_tracker')->where('user_id', $user_id->user_id)->sum('purshase_time'); 

Просто замените $user_id->user_id части с $user_id. $user_id уже является идентификатором зарегистрированного пользователя. Так что ваш код должен выглядеть следующим образом, вместо:

$Totalpurchase = DB::table('time_tracker')->where('user_id', $user_id)->sum('purshase_time'); 

Я нашел три вхождения $user_id->user_id на вашем PaypalController классе. Не забудьте заменить их все.

Надеюсь, что эта помощь!

+0

Да, это работает! Большое спасибо! – Ace