2

私は Laravel の初心者ですが、今のところ気に入っています。私は苦労していますが、ログインしているユーザーのデータを取得したいのですが、どうすればよいかわかりません。

私はいくつかのテーブルを持っていますが、今は基本的なものにしておきます.projectsテーブルとusersテーブルがあり、モデルでこれら2つの関係を次のように定義しました:

user.php

public function projects() {
    return hasMany('project');

}

プロジェクト.php

<?php
use Illuminate\Database\Eloquent\ModelNotFoundException;

class Project extends Eloquent
{
    public function user()
    {
        return belongsTo('user');
    }
}

次のようにして、データベース内のすべてのプロジェクトをforeachループで取得できることはわかっていますが、これはログインしているユーザー プロジェクトを取得しません。

$projects = DB::table('projects')->get();

あまり詳しくないチュートリアルを見ましたが、モデルクエリにアクセスするには、次のコマンドを使用する必要があると彼は言いました。

$project = User::all()->projects; 

ただし、これも機能していません。誰かが実際のチュートリアルで正しい方向に向けたり、簡単な例を投稿したりできますか?

前もって感謝します

4

1 に答える 1

6

これらは、ログインしているユーザーのプロジェクトです:

if (Auth::check())
{
    $projects = Auth::user()->projects;
}

そして、これはあなたの関係にあるに違いありません:

class User extends Eloquent
{
    public function projects() {

        return this->hasMany('Project');

    }
}

Project リレーションに $this を追加する必要もあります。

class Project extends Eloquent
{
    public function user()
    {
        return $this->belongsTo('User');
    }
}
于 2013-11-10T17:57:06.517 に答える