Require this package, with Composer, in the root directory of your project.
$ composer require artisanry/eloquent-presenter
use Artisanry\Presenter\BasePresenter;
class CommentPresenter extends BasePresenter
{
public function getRoutePrefix()
{
return 'users.posts.comments';
}
public function getRouteParameters()
{
// The ID of the model will be automatically attached to this array at the end
// [
// $model->post->user->id,
// $model->post->id,
// $model->id // "id" is what is specified in $this->getRouteKeyName()
// ];
return ['post.user.id', 'post.id'];
}
}
use Artisanry\Presenter\HasViewPresenterTrait;
use Illuminate\Database\Eloquent\Model;
class Comment extends Model
{
use HasViewPresenterTrait;
/**
* Get the view presenter for the model.
*
* @return string
*/
protected function getPresenter()
{
return UserPresenter::class;
}
}
$ phpunit
If you discover a security vulnerability within this package, please send an e-mail to hello@basecode.sh. All security vulnerabilities will be promptly addressed.
This project exists thanks to all the people who contribute.
Mozilla Public License Version 2.0 (MPL-2.0).