2017-02-27 3 views
0

aufgezeichnet, wie Datengerät (Tablet, Handy, Desktop) hinzufügen, wenn Benutzer auf eines der Geräte zugreifen, wenn sie angemeldet sind, dann wurden die Daten aufgezeichnet.Wie wird das Gerät des Benutzers in Laravel

i verwenden, um Pakete jenssegers/Agent

Tabelle Gerät mit Säule: device_name, Datum

ich versuche, aber aufzeichnen kann nicht in der Tabelle

diesen meinen Code in LoginController.php

public function check(){ 
     $agent = new Agent(); 
     $dt = Carbon::now(); 

     if ($agent->isDesktop() == true) 
     { 
     DB::table('device')->insert([ 
      ['device_name' => 'desktop', 'tgl' => $dt->toDateString()], 
     ]); 
     } 

     elseif ($agent->isTablet() == true) { 
     DB::table('device')->insert([ 
      ['device_name' =>'tablet', 'tgl' => $dt->toDateString()], 
     ]); 
     } 

     elseif ($agent->isMobile() == true) { 
     DB::table('device')->insert([ 
      ['device_name' => 'mobile', 'tgl' => $dt->toDateString()], 
     ]); 
    } 

    } 

bitte helfen Sie mir, vielen Dank ...

+0

Was ist der Fehler? – EddyTheDove

+0

@eddy, kein Fehler, aber keine Aufzeichnung in Tabelle –

+0

Ist Ihre Tabelle "Gerät" oder "Geräte" genannt? Haben Sie Zeitstempel 'created_at' und' updated_at'? – EddyTheDove

Antwort

1

Versuchen Sie den folgenden Code, es scheint, dass Ihr Code in keiner der if-else Anweisung geht?

public function check(){ 
    $agent = new Agent(); 
    $dt = Carbon::now(); 

    $device_name = ''; 
    if ($agent->isDesktop()) { 
     $device_name = 'desktop'; 
    } elseif ($agent->isTablet()) { 
     $device_name = 'tablet'; 
    } elseif ($agent->isMobile()) { 
     $device_name = 'mobile'; 
    } 

    DB::table('device')->insert([ 
     ['device_name' => $device_name, 'tgl' => $dt->toDateString()], 
    ]); 

} 
+0

Wert $ agent-> isDesktop() ist wahr, wenn ein Benutzer über den Desktop zugreift. etc ... –

+0

Können Sie mit dem obigen Code einfügen? – SteD

+0

kann nicht in Tabelle einfügen ... kein Datensatz –

0

dies meine vollständige Code LoginController.php

<?php 

namespace App\Http\Controllers\Auth; 

use Illuminate\Support\Facades\DB; 
use App\Http\Controllers\Controller; 
use Illuminate\Foundation\Auth\AuthenticatesUsers; 
use Illuminate\Http\Request; 
use App\Model\Management\Radcheck; 
use Illuminate\Support\Facades\Lang; 
use Debugbar; 
use Jenssegers\Agent\Agent; 
use Date; 
use Carbon\Carbon; 

class LoginController extends Controller 
{ 

    /* 
    |-------------------------------------------------------------------------- 
    | Login Controller 
    |-------------------------------------------------------------------------- 
    | 
    | This controller handles authenticating users for the application and 
    | redirecting them to your home screen. The controller uses a trait 
    | to conveniently provide its functionality to your applications. 
    | 
    */ 

    use AuthenticatesUsers; 





    protected function sendFailedLoginResponse(Request $request) 
    { 

     if (! Radcheck::where('username', $request->username)->first()) { 
      return redirect()->back() 
       ->withInput($request->only($this->username(), 'remember')) 
       ->withErrors([ 
        $this->username() => Lang::get('auth.username'), 

       ]); 
     } 

     if (! Radcheck::where('username', $request->username)->where('password', bcrypt($request->password))->first()) { 
      return redirect()->back() 
       ->withInput($request->only($this->username(), 'remember')) 
       ->withErrors([ 
        'password' => Lang::get('auth.password'), 
        /*Debugbar::error('Put a message for debugging any error'),*/ 
       ]); 
     } 

     if (! Radcheck::where('username', $request->username)->where('password', bcrypt($request->password))->where('flag','=','not active')->first()) { 
      return redirect()->back() 
       ->withInput($request->only($this->username(), 'remember')) 
       ->withErrors([ 
        'active' => Lang::get('auth.active'), 
       ]); 
     } 


    } 





    protected function credentials(Request $request) 
    { 
     /*return $request->only($this->username(), 'password');*/ 
     $crendentials = $request->only($this->username(), 'password'); 
     $crendentials['flag']='active'; 
     return $crendentials; 
    } 
    /** 
    * Where to redirect users after login. 
    * 
    * @var string 
    */ 
    protected $redirectTo = '/'; 

    /** 
    * Create a new controller instance. 
    * 
    * @return void 
    */ 
    public function __construct() 
    { 
     $this->middleware('guest', ['except' => 'logout']); 
    } 

    public function username() 
    { 
     return 'username'; 
    } 

    public function check(){ 
    $agent = new Agent(); 
    $dt = Carbon::now(); 

    $device_name = ''; 
    if ($agent->isDesktop()) { 
     $device_name = 'desktop'; 
    } elseif ($agent->isTablet()) { 
     $device_name = 'tablet'; 
    } elseif ($agent->isMobile()) { 
     $device_name = 'mobile'; 
    } 

    DB::table('device')->insert([ 
     ['device_name' => $device_name, 'tgl' => $dt->toDateString()], 
    ]); 

} 

} 
+1

Sie wissen was, kurz vor Ihrem 'if() else', versuchen Sie, eine Zeile einzufügen und sehen, ob es eine Zeile einfügen kann. Mach einfach 'DB :: table ('device') -> insert (['device_name' => 'desktop', 'tgl' => Carbon :: now() -> toDateString()]);' Wenn das funktioniert, zumindest wissen wir, dass das Problem nicht von der DB-Einfügung herrührt. – EddyTheDove

+0

@EddyTheDove, Gelöst ... Ich falsch in Eingabe enum Wert in der Tabelle .... Vielen Dank für Ihre Wertschätzung und Ihre Antwort –

Verwandte Themen