Home > Backend Development > PHP Tutorial > 请教个 LaravelAutoPresenter 包 出现的问题

请教个 LaravelAutoPresenter 包 出现的问题

WBOY
Release: 2016-06-06 20:23:23
Original
1310 people have browsed it

直接上图

请教个 LaravelAutoPresenter 包 出现的问题

上面的 $article 等于 php Article::find(1)

ArticleModel 和 UserModel 在model关联关系

ArticleModel
请教个 LaravelAutoPresenter 包 出现的问题

UserPresenter

请教个 LaravelAutoPresenter 包 出现的问题

然后在view里没法这样使用

请教个 LaravelAutoPresenter 包 出现的问题

<code class="php">//这种可以调用,
{{ $article->images() }}</code>
Copy after login
Copy after login
<code class="php">//这种不可以调用,
{{ $article->author->byName() }}</code>
Copy after login
Copy after login

还有个奇怪的现象...

请教个 LaravelAutoPresenter 包 出现的问题

回复内容:

直接上图

请教个 LaravelAutoPresenter 包 出现的问题

上面的 $article 等于 php Article::find(1)

ArticleModel 和 UserModel 在model关联关系

ArticleModel
请教个 LaravelAutoPresenter 包 出现的问题

UserPresenter

请教个 LaravelAutoPresenter 包 出现的问题

然后在view里没法这样使用

请教个 LaravelAutoPresenter 包 出现的问题

<code class="php">//这种可以调用,
{{ $article->images() }}</code>
Copy after login
Copy after login
<code class="php">//这种不可以调用,
{{ $article->author->byName() }}</code>
Copy after login
Copy after login

还有个奇怪的现象...

请教个 LaravelAutoPresenter 包 出现的问题

在具体的 Presenter 中你需要使用

<code> $this->getWrappedObject() </code>
Copy after login

来获取当前 Presenter 绑定的 Model,因此你这里的代码需要改为:

<code>public function byName()
{
    $this->getWrappedObject()->author()->nickName;
}</code>
Copy after login

这样你就可以直接在 blade 模板中直接使用{{ $article->byName }}

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template