Laravel 5.2 laravel 5.4分页问题为foreach()提供的参数无效
我在一个数组中有大约50个对象Laravel 5.2 laravel 5.4分页问题为foreach()提供的参数无效,laravel-5.2,laravel-5.4,laravel-pagination,laravel-paginate,Laravel 5.2,Laravel 5.4,Laravel Pagination,Laravel Paginate,我在一个数组中有大约50个对象 $user = User::with('abc','def','ghi','jkl','mno','pqr') ->where([['id', '<>', Auth::user()->id],['role', '<>', 2]])->simplePaginate(15); $users = json_decode($user,true); 即使我不把这个代码{{$users->links()}}放在视图
$user = User::with('abc','def','ghi','jkl','mno','pqr')
->where([['id', '<>', Auth::user()->id],['role', '<>', 2]])->simplePaginate(15);
$users = json_decode($user,true);
即使我不把这个代码{{$users->links()}}
放在视图中,我仍然会得到相同的错误。我想问题在于控制器上的分页代码
编辑
我还有一个小问题:
之前
用户模型
校园模式
年模型
您不需要对任何内容进行json编码,也不需要直接访问对象属性 控制器
$users = User::with('abc','def','ghi','jkl','mno','pqr')
->where([
['id', '<>', auth()->id()],
['role', '<>', 2]
])->simplePaginate(15);
return view('someview', compact('users'));
$users=User::with('abc','def','ghi','jkl','mno','pqr'))
->在哪里([
['id','',auth()->id(),
[‘角色’,'',2]
])->单帕吉纳(15);
返回视图('someview',压缩视图('users');
看法
@foreach($users作为$user)
@endforeach
{!!$users->links()!!}
我添加了更多代码。我更改了$user['john']['doe']的代码:$user->john->doe,但随后它抛出错误。正在尝试获取非对象的属性。这就是我选择json_解码的原因。“我该如何解决这个问题?”MurlidharFichadia如果你渴望加载关系,并且它们存在,这不应该发生。你能运行dd($users)代码>返回前查看并共享结果我添加了结果。只有一个数组对象。如果要我添加更多对象,我将更新it@MurlidharFichadia够了,我明白了。在这个对象中“snatives”:null
,但您正在访问$user->snatives->language
。因此,这是一个错误。除非关系的属性可用,否则不能直接尝试访问它们。在访问相关对象的属性{{isset($user->snatives)?$user->snatives->language:'N/a'}}
之前,可以添加对相关对象的检查。只是一个例子。您可以将默认值设置为所需的任何值。错误在这一行:{{$user->campus->campus\u name},直到forloop启动。我删除了下面的所有代码,这是显示错误的一行。所有带有两个箭头的行都有此错误:$user->campus->campus\u name
<h5 style="padding-top:10px;"><b>Campus:</b> {{$user['campus']['campus_name']}}</h5>
<h5 style="padding-top:10px;"><b>School:</b> {{ $user['schools']['schools_name']}} </h5>
<h5 style="padding-top:10px;"><b>Year:</b> {{ $user['years']['years_name']}} </h5>
<h5 style="padding-top:10px;"><b>Native Speaker of:</b> {{$user['natives']['language']}} </h5>
<h5 style="padding-top:10px;"><b>Second Native Speaker of:</b> {{$user['snatives']['language']}} </h5>
<h5 style="padding-top:10px;"><b>Seeking Speaker of:</b>
@foreach($seeks as $seek)
@if($seek->user_id === $user['id'])
{{ $seek->language}},
@endif
@endforeach </h5>
<h5 style="padding-top:10px;"><b>Campus:</b> {{$user->campus->campus_name}}</h5>
<h5 style="padding-top:10px;"><b>School:</b> {{ $user->schools->schools_name}} </h5>
<h5 style="padding-top:10px;"><b>Year:</b> {{ $user->years->years_name}} </h5>
<h5 style="padding-top:10px;"><b>Native Speaker of:</b> {{$user->natives->language}} </h5>
<h5 style="padding-top:10px;"><b>Second Native Speaker of:</b> {{$user->snatives->language}} </h5>
<h5 style="padding-top:10px;"><b>Seeking Speaker of:</b>
@foreach($seeks as $seek)
@if($seek->user_id === $user->id)
{{ $seek->language}},
@endif
@endforeach </h5>
{
"per_page":12,
"current_page":1,
"next_page_url":"http:\/\/localhost:8000\/users\/community?page=2",
"prev_page_url":null,
"from":1,
"to":12,
"data":[
{
"id":5,
"firstname":"Beth",
"lastname":"Hanley",
"email":"bah3@org.uk",
"role":1,
"photo":"uploads\/2.jpg",
"bio":"Hockey fan, foodie, gamer, Saul Bass fan and HTML5 Guru.",
"campus":{
"id":1,
"campus_name":"name"
},
"school":"1",
"year":"1",
"native_lang":"2",
"native_lang_flag":"2",
"search_status":"available",
"created_at":null,
"updated_at":null,
"lastlogin":null,
"verification_code":null,
"isverify":"0",
"native_lang_2":null,
"native_lang_flag_2":null,
"schools":{
"id":1,
"schools_name":"School of Energy, Geoscience, Infrastructure and Society"
},
"years":{
"id":1,
"years_name":"First"
},
"flags":{
"id":2,
"name":"\u00c5land Islands",
"flag":"\/flags\/AX-32.png"
},
"natives":{
"id":2,
"language":"English",
"flag":"\/flags\/GB-32.png"
},
"snatives":null
},
public function friends()
{
return $this->hasMany('App\Friend','friend_id','id');
}
public function seeks()
{
return $this->belongsToMany('App\Language');
}
public function natives()
{
return $this->hasOne('App\Language','id','native_lang');
}
public function snatives()
{
return $this->hasOne('App\Language','id','native_lang_2');
}
public function roles()
{
return $this->hasOne('App\Role','id','role');
}
public function campus()
{
return $this->hasOne('App\Campus','id','campus');
}
public function schools()
{
return $this->hasOne('App\School','id','school');
}
public function years()
{
return $this->hasOne('App\Year','id','year');
}
public function flags()
{
return $this->hasOne('App\Flag','id','native_lang_flag');
}
public function users()
{
return $this->belongsTo('App\User','campus','id');
}
public function users()
{
return $this->belongsTo('App\User','year','id');
}
$users = User::with('abc','def','ghi','jkl','mno','pqr')
->where([
['id', '<>', auth()->id()],
['role', '<>', 2]
])->simplePaginate(15);
return view('someview', compact('users'));
<div class="row">
@foreach($users as $user)
<a href="#" onclick="document.getElementById('{{ $user->id }}').style.display='block'">
<div class="col-md-3" style="margin-bottom:50px;">
@if($user->search_status == 'matched')
<div class="w3-card-12-disabled"
style="border-radius:15px;width:225px; padding-top: 20px; background-color: #FFA534;">
@else
<div class="w3-card-12"
style="border-radius:15px;width:225px; padding-top: 20px; background-color: #FFA534;">
@endif
<img align="center" src="{{ $user->photo }}"
style=" border-radius:50%; ; border-style: solid; border-color: #333; border-width: 5px; margin-left:15%;"
width="150px !important" height="150px !important"/>
<h3 style="color:#000;
padding-top: 20px;" align="center">{{ $user->firstname }}<br/>{{ $user->lastname}}</h3>
<br/>
</div>
</div>
</div>
</a>
@endforeach
</div>
{!! $users->links() !!}