sql >> Database teknologi >  >> RDS >> Mysql

Laravel veltalende forespørgsel rigtige data

Hvis du vil bruge veltalende, skal du først definere et forhold. Én besked tilhører en tråd og en bruger. Sådan defineres relationerne:Inde i meddelelsesmodellen:

public function user()
{
   return $this->belongsTo('App/User'); //User model
}

public function thread()
{
  return $this->belongsTo('App/Thread'); //Thread model
}

For at definere det omvendte gør du følgende:Indvendig brugermodel:

public function threads()
{
  return $this->hasMany('App/Thread');
}

Inde i trådmodellen:

public function messages()
{
   return $this->hasMany('App/Message');
}

Nu kan du gøre følgende i din controller:

$threads = Auth::user()->threads;

Nu har du alle tråde fra den aktuelt loggede bruger. Jeg er ikke sikker på, om jeg fik spørgsmålet rigtigt, så spørg væk.

Edit:Du kunne tjekke sådan:

$thread = Thread::find($id);
$isCurrentUserThread = false;
foreach(Auth::user()->threads as $currentUserThread) {
   if($currentUserThread->id == $thread->id) {
       $isCurrentUserThread = true;
      //$thread belongs to the current user
   }
}

if($isCurrentUserThread) {
    //the thread belongs to the current user
} else {
   //it doesn't belong to the current user
}


  1. Oracle Bulk Collect-eksempel ved hjælp af Cursor Rowtype Type Object

  2. iPhone-applikation Henter data fra Mysql-databasen

  3. Hvordan kan jeg importere en JSON-fil til MySQL-databasen ved hjælp af en simpel forespørgsel, uden faktisk at konvertere den til andre filformater som CSV osv.?

  4. SQL Server DATEPART() vs DATENAME() – Hvad er forskellen?