【发布时间】:2016-12-16 13:13:38
【问题描述】:
我想显示用户的朋友。但我收到以下错误:
Builder.php 第 2345 行中的 BadMethodCallException:调用未定义 方法 Illuminate\Database\Query\Builder::friends()
朋友控制器:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\User;
use Auth;
class FriendController extends Controller
{
public function getIndex(){
$friends=Auth::user()->friends();
return view('friends',['friends'=>$friends]);
}
}
路线:
Route::get('/friends',[
'uses' => 'FriendController@getIndex',
'as' => 'friends',
'middleware' => 'auth:web'
]);
用户模型:
public function getName(){
if($this->firstname && $this->lastname){
return "{$this->firstname} {$this->lastname}";
}
if($this->firstname)
return $this->firstname;
return null;
}
public function getNameOrUsername(){
return $this->getName() ?: $this->username;
}
public function getFirstNameOrUsername() {
return $this->firstname ?: $this->username;
}
我的看法:
<div id="grp" class="panel-heading">
<h3 id="grouptitle" class="panel-title">Your Friends</h3>
@if(!$friends->count())
<p>you have no friends</p>
@else
@foreach($friends as $user)
@include('userblock')
@endforeach
@endif
</div>
userblock.blade:
<div class="media">
<a href="{{ route('myplace', ['username'=>$user->username]) }}" class="pull-left">
<img src="" class="media-object" alt="{{ $user->getNameOrUsername() }}">
</a>
<div class="media-body">
<h4 class="media-heading"><a href="#">{{ $user->getNameOrUsername() }}</a></h4>
</div>
【问题讨论】:
-
你的“朋友”关系描述在哪里?
-
@rap-2-h 你的意思是朋友模型和用户模型的关系?
-
是的 :) 你的
User模型中有friends方法吗? -
抱歉没有收到你的信息?
-
@rap-2-h 和我没有申请关系
标签: php laravel laravel-5 laravel-5.2