sql >> Databasteknik >  >> RDS >> Mysql

Laravel vältalig fråga rätt data

Om du vill använda vältalig måste du först definiera en relation. Ett meddelande tillhör en tråd och en användare. Så här definierar du relationerna:Inuti meddelandemodellen:

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

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

För att definiera inversen gör du följande:Inside User model:

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

Inuti trådmodellen:

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

Nu kan du göra följande i din handkontroll:

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

Nu har du alla trådar av den för närvarande inloggade användaren. Jag är inte säker på om jag fick frågan rätt så fråga iväg.

Edit:Du kan kontrollera så här:

$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. Hur man skickar variabler till MYSQL med Python

  2. Postgres-vyer känns inte igen av rspec

  3. nodeJS returnerar värde från callback

  4. Hur visar jag det fullständiga innehållet i en text- eller varchar(MAX)-kolumn i SQL Server 2008 Management Studio?