Php 如何获得Laravel关系中的第一行
如何在下面的模型中创建一个包含页面第一个值的方法 我希望我的封面方法能够获得页面的第一个实例 这是我的型号:Php 如何获得Laravel关系中的第一行,php,laravel,laravel-5,eloquent,laravel-eloquent,Php,Laravel,Laravel 5,Eloquent,Laravel Eloquent,如何在下面的模型中创建一个包含页面第一个值的方法 我希望我的封面方法能够获得页面的第一个实例 这是我的型号: <?php namespace App; use Illuminate\Database\Eloquent\Model; class Book extends Model { protected $guarded = []; public function pages() { return $this->hasMany('\App\Pa
<?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
}
}
对关系使用第一个()方法
public function cover()
{
return $this->pages()->first();
}
对关系使用first()方法
public function cover()
{
return $this->pages()->first();
}
return$this->pages()->first()
?它返回一个错误,App\Book::cover必须返回一个关系实例。return$this->pages()->first()
?它返回一个错误,App\Book::cover必须返回一个关系实例。我尝试了它,但它返回了这个错误,App\Book::cover必须返回一个关系实例。您必须在Book的实例上调用它,例如:App\Book::first()->cover(),您必须使用(),optherwise laravel尝试查找一个关系。我以()作为方法访问它,而不是以()作为属性,但它返回以下内容:src=“{”id“:3,“Book\u id”:5,“page”:上载\/page\/150693014959d1ede50f81d.jpg”,“created_at:“2017-10-02 07:42:29”,“updated_at:“2017-10-02 07:42:29”}“它不仅返回页面的所有属性。我尝试了它,但它返回此错误,App\Book::cover必须返回一个关系实例。您必须在Book的实例上调用它,例如:App\Book::first()->cover(),您必须使用(),optherwise laravel试图寻找一种关系,我用()作为方法访问它,不作为属性,但它返回:src=“{”id“:3,“book_id”:5,“page”:“uploads\/page\/15069301495d1ede50f81d.jpg”,“created_at:”2017-10-02 07:42:29”,“updated_at:”2017-10-02 07:42:29“}它返回所有属性,而不仅仅是页面。