php – Laravel 4 – 尝试获取非对象的属性
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – Laravel 4 – 尝试获取非对象的属性,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2393字,纯文字阅读大概需要4分钟。
内容图文
![php – Laravel 4 – 尝试获取非对象的属性](/upload/InfoBanner/zyjiaocheng/698/fd996bca776f4fa9977b2e9ea66822b5.jpg)
我一直在使用Laravel 4.1创建一个包含用户关系的图书清单应用程序.我有用户关系工作但是当我添加分页时,我得到以下错误异常:
ErrorException
Trying to get property of non-object (View: /app/views/books/index.blade.php)
return link_to_route('user.books.show', $book->title, [$book->user->username, $book->id]);
从视图(book / index.blade.php)生成错误,但错误异常实际上来自帮助程序(参见下文).
控制器 – PARTIAL
public function show($id)
{
$book = Book::findOrFail($id);
return View::make('books.show', compact('book'));
}
}
我的路线档案
设置为强制地址为USERNAME> BOOKS> BOOK_ID:
#Books Controller
Route::resource('books', 'BooksController');
Route::get('books/{id}', 'BooksController@show')->where('id', '\d+');
//Books ID Rerouting - USERNAME -> BOOK -> Book ID
Route::get('{username}/books', 'UserBooksController@index');
Route::get('{username}/books/{id}', ['as' => 'user.books.show', 'uses' => 'UserBooksController@show']);
这是我收到错误的地方 – 它不再识别
user.books.show
books / index.blade.php文件
@foreach(array_chunk($books->getCollection()->all(), 3) as $row)
<div class="row">
@foreach ($row as $book)
<div class="col-md-4">
<div class="thumbnail">
<img data-src="{{ $book->image }}" alt="">
<div class="caption">
<h3>{{ link_to_book($book) }}</h3>
<p>{{ $book->synopsis }} </p>
<p><a href="{{ link_to_book($book) }}" class="btn btn-primary" role="button">Buy Now</a></p>
</div>
</div>
</div>
@endforeach
</div>
</div>
@endforeach
{{ dd(Request::only('1')) }}
{{ $books->appends(Request::only('1'))->links() }}
帮助文件
<?php
function link_to_book(Book $book)
{
return link_to_route('user.books.show', $book->title, [$book->user->username, $book->id]);
}
解决方法:
我有同样的问题,这就是我如何解决它.要访问数组中的元素,请使用数组表示法:$book [‘image’]
$book-> image是对象表示法,只能用于访问对象属性和方法.
尝试这个:
@foreach(array_chunk($books->getCollection()->all(), 3) as $row)
<div class="row">
@foreach ($row as $book)
<div class="col-md-4">
<div class="thumbnail">
<img data-src="{{ $book['image'] }}" alt="">
<div class="caption">
<h3>{{ link_to_book($book) }}</h3>
<p>{{ $book['synopsis'] }} </p>
<p><a href="{{ link_to_book($book) }}" class="btn btn-primary" role="button">Buy Now</a></p>
</div>
</div>
</div>
@endforeach
</div>
</div>
@endforeach
{{ dd(Request::only('1')) }}
{{ $books->appends(Request::only('1'))->links() }}
那应该解决它.它的含义是你以一种只应该用于对象的方式调用非对象.如果有效,请告诉我.
内容总结
以上是互联网集市为您收集整理的php – Laravel 4 – 尝试获取非对象的属性全部内容,希望文章能够帮你解决php – Laravel 4 – 尝试获取非对象的属性所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。