我在以下示例中找不到問題,我一直在尋找http://laravel.com/docs/eloquent#inserting-related-models,但由於某些原因我無法找到,它不工作。Laravel 4 save hasMany return調用成員函數save()在非對象上
型號:
class Article extends Eloquent {
public function category()
{
$this->belongsTo('Category');
}
}
class Category extends Eloquent {
public function articles()
{
$this->hasMany('Article');
}
}
DB模式:
文章有一個名爲CATEGORY_ID列是一個整數,而且文章和類別對ID列的增量。
這是目前沒有單元測試:
public function testCreateArticleWithCategory()
{
$category = new Category();
$category->name = 'Kitties';
$this->assertTrue($category->save());
$cid = $category->id;
$category = Category::find($cid);
$article = new Article();
$article->title = 'Hello Kitty';
$article = $category->articles()->save($article);
$this->assertEquals('Kitties', $article->category->name);
}
測試與以下消息失敗:
Starting test 'ArticleTest::testCreateArticleWithCategory'. PHP Fatal error: Call to a member function save() on a non-object in /Users/kristiannissen/Documents/php/sacrebleu/app/tests/ArticleTest.php on line 30
和線路30
$article = $category->articles()->save($article);
Doh!我完全錯過了,我一直在這個主演太久了,謝謝你的回覆Gravy –
@kristiannissen - NP - 輕鬆完成! – Gravy