sql >> Databáze >  >> RDS >> Mysql

Laravel výmluvný dotaz na správná data

Pokud chcete použít výmluvný, musíte nejprve definovat vztah. Jedna zpráva patří vláknu a uživateli. Zde je návod, jak definovat vztahy:Uvnitř modelu zpráv:

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

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

Chcete-li definovat inverzní, proveďte následující:Vnitřní uživatelský model:

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

Uvnitř modelu závitu:

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

Nyní můžete v ovladači provést následující:

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

Nyní máte všechna vlákna od aktuálně přihlášeného uživatele. Nejsem si jistý, jestli jsem otázku pochopil správně, tak se zeptejte.

Edit:Můžete to zkontrolovat takto:

$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. Zašifrujte data v postgresql

  2. Pomocí LOAD DATA LOCAL INFILE v Javě

  3. Jak upravit podřetězce?

  4. Frekvence počítání mysql