私はLaravel 4を使用していますが、特に私は雄弁なORMを使用する答えを探しています。Laravel:雄弁を使って複数の関連テーブルから結果を返す
IはコンテナCLIENT_ID各行に割り当てUSER_IDテーブル "タスク" を有します。は「クライアント」テーブルとのuser_id上のクライアントを指し
client_idのは「ユーザー」テーブル上のユーザーを指します。私はをやりたい
:だから、結果は私の(ブレードで次のようになり、すべてのタスクを表示し、「クライアント」名と「ユーザー」FIRST_NAME
を表示)ビュー:
上記のビューは、$ task-> client->名前を完璧に吐き出しますが、残念ながら "T私はライン$を追加するとき、「非オブジェクトのプロパティを取得するためにrying task-> USER-> first_nameの
私のコントローラは次のようになります。
$tasks = Task::with(array('user', 'client'))->get();
return View::make('index', compact('tasks'));
私はそれを理解したように私のモデルがあまりにも違いを作ります、ので、私のモデルは次のようになります。
class Task extends Eloquent {
protected $guarded = array();
public static $rules = array();
public function client() {
return $this->belongsTo('Client');
}
public function user() {
return $this->belongsTo('User');
}
}
そして:
class User extends Eloquent implements UserInterface, RemindableInterface {
public function task()
{
return $this->hasMany('Task');
}
}
そして:
class Client extends Eloquent {
public function projects(){
return $this->hasMany('Project', 'client_id');
}
}
どのようにしてこの作品を作成するのですか?私はしばらく私の頭を傷つけている - 私はデータベース関係のプロではないので、より簡単な説明はより簡単です:)
で私のコードをチェックアウトすることができます。 EloquentのbelongsToMany()メソッドを使用して、クライアントとユーザーを直接リンクする必要があります。ピボットテーブルにフィールドを追加する方法については、[this](http://laravel.com/docs/eloquent#working-with-pivot-tables)を参照してください。 – ciruvan
こんにちは@cuewizchris私はドキュメンテーションを見て、自分のニーズにユーザー/ロール/ピボットの例をどのように翻訳するのがうまくいかない。私はあなたのhasMany()をtoMany()に変更すべきだと言っていますか?私はここで少し失われています。 – Josh