0

http://net.tutsplus.com/tutorials/php/build-web-apps-from-scratch-with-laravel-the-eloquent-orm/およびhttp://laravel.com/にあるドキュメントに従ってみましたdocs / database / eloquentですが、機能していないようです。

class User extends Eloquent 
{
    public function role()
    {
         return $this->has_one('Role', 'role_code');
    }
}

class Role extends Eloquent 
{
    public function user()
    {
          return $this->belongs_to('User', 'role_code');
    }
}

私のデータベースには、usersテーブルとrolesテーブルの両方にrole_code列があります。コントローラでこのコマンドを使用しました$test = User::find(1)->role()->get();が、空白の配列しか表示されません。ユーザーテーブルとロールテーブルの両方にエントリがあると確信しています。

私は何が欠けていますか?助けてくれませんか?

4

1 に答える 1

0

ロール テーブルのキー フィールドを定義しましたか? ロール テーブルのキーが $id である場合、あなたが示したことは機能するはずです。そうでない場合は、Role クラスに次のようなものを追加する必要があります。

public static $key = 'role_code';

(従来とは異なる外部キー定義を使用している場合は、従来とは異なる主キー定義もある可能性があると思います。)

于 2012-12-20T17:49:09.947 に答える