1
このエラーが発生しており、解決方法がわかりません。アイデアは、ユーザーのすべての書籍を一覧表示することです。ユーザーのIDで呼び出されたときのパスは、たとえばuserbooks/4のようにうまくいきます。ユーザ名userbooks/paulでこのエラーが表示される "null変数の属性(" user ")にアクセスすることはできません。null変数の属性( "user")にアクセスすることができません
<h2 > <a href="{{ path('userbooks',{'user' : entry.user}) }} ">{{ entry.title | title }}</a></h2>
viewuserbookAction:
public function viewuserbooksAction($user)
{
$em = $this->getDoctrine()->getManager();
$book = $em->getRepository('BookReviewBookBundle:Book')->find($user);
return $this->render('@BookReviewBook/Book/viewuserbooks.html.twig',
['book' => $book]);
}
{% extends '@BookReviewBook/layout.html.twig' %}
{% block title %}{% endblock %}
{% block body %}
{% for book in book.user.entries %}
<h1>{{ book.title }} </h1>
<div>
<img class="img-valign" src="{{ asset('images/book/'~ book.path) }}" , style
= "width:300px;height:300px;" class="img-thumbnail " />
<span class="text2">{{ book.author }}</span>
{{ book.averageRating |rating }}
</div>
<hr class="style4">
<p>{{ book.summary|nl2br }} </p>
<p><small>Posted by {{ book.user }} on {{ book.timestamp|date('H:i d/m/y') }}
</small>
</p>
<hr class="style4">
{% endfor %}
のrouting.yml
userbooks:
path: /userbooks/{user}
defaults: { _controller: BookReviewBookBundle:User:viewuserbooks }
view:
path: /view/{id}
defaults: { _controller: BookReviewBookBundle:Book:view }
requirements:
id: \d+
これは、Book Entityがユーザー名ではなくユーザー経由でユーザーに接続している可能性があります。 –
コードスニペットにはたくさんの 'user'変数があります。このエラーの原因はどこですか? – DonCallisto
@DonCallisto this path {{path( 'userbooks'、{'user':entry.user})}}がusername変数を指しています。代わりにユーザーIDを指すように変更することは可能ですか? – Suleiman