0

http://culttt.com/2013/05/13/setting-up-your-first-laravel-4-model/のいくつかのチュートリアルに従いましたが、うまくいきません。これが私が試したことです:

投稿モデル:

class Post extends Eloquent {

  protected $fillable = array('body');

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

ルート:

Route::get('/posts',function()
{
  // Create a new Post
  $post = new Post(array('body' => 'Yada yada yada'));
  // Grab User 1
  $user = User::find(1);
  // Save the Post
  $user->posts()->save($post);
});

ユーザーモデル:

/**
 * Post relationship
 */
public function posts()
{
  return $this->hasMany('Post');
}

Post モデルの場合は、body 列と列を作成するだけですuser_id。しかし、ブラウザでエラーを表示すると、「非オブジェクトでメンバー関数 posts() を呼び出します」というエラーが表示されます。

ここで何が問題なのか誰にもわかりませんか?

4

1 に答える 1

2

データベースからユーザーを取得する前に、ユーザーを作成する必要があります。

試す:

 // Create a User
 $user = new User;
 $user->username = 'username';
 $user->email = 'email@domain.com';
 $user->password = 'password';
 $user->password_confirmation = 'password';
 $user->save();

 // Create a new Post
 $post = new Post(array('body' => 'Yada yada yada'));
 // Grab User 1
 $user = User::find(1);
 // Save the Post
 $user->posts()->save($post);
于 2013-11-14T11:45:44.077 に答える