2017-10-19 44 views
1

如何在我的模型中創建一個包含第一個頁面值的模型?如何在Laravel關係中獲得第一行

我想讓我的封面方法獲得他的第一個頁面實例。

這裏是我的模型:

<?php 

namespace App; 

use Illuminate\Database\Eloquent\Model; 

class Book extends Model 
{ 
    protected $guarded = []; 

    public function pages() 
    { 
     return $this->hasMany('\App\Page'); 
    } 

    public function cover() 
    { 
     //first page of pages here 
    } 

} 
+1

'返回$這個 - >頁面() - >第()'? – kerbholz

+0

它返回一個錯誤,App \ Book :: cover必須返回一個關係實例。 –

回答

5

使用第一個()方法的關係

public function cover() 
{ 
    return $this->pages()->first(); 
} 
+0

我試了一下,但它返回這個錯誤,App \ Book :: cover必須返回一個關係實例。 –

+1

你必須在書的一個實例上調用它,例如:App \ Book :: first() - > cover() –

+1

你必須使用(),optherwise laravel試圖尋找一個關係 –

相關問題