sql >> データベース >  >> RDS >> Mysql

Laravelの雄弁なクエリ権データ

    雄弁に使用する場合は、最初に関係を定義する必要があります.1つのメッセージはスレッドとユーザーに属します。関係を定義する方法は次のとおりです。メッセージモデルの内部:

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

    逆を定義するには、次のようにします。ユーザーモデル内:

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

    スレッドモデルの内部:

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

    これで、コントローラーで次のことができます。

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

    これで、現在ログインしているユーザーによるすべてのスレッドが作成されました。質問が正しいかどうかわからないので、質問してください。

    編集:次のように確認できます:

    $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. MySQLのLEN()と同等のものは何ですか?

    2. Oracleにテーブルがまだ存在しない場合にテーブルを作成する2つの方法

    3. 特にexpressとpostgresを使用している場合、JavaScriptを使用してselectステートメントに値を挿入するにはどうすればよいですか?

    4. この集計を実行するにはどうすればよいですか?