本文整理汇总了PHP中app\Article::attachments方法的典型用法代码示例。如果您正苦于以下问题:PHP Article::attachments方法的具体用法?PHP Article::attachments怎么用?PHP Article::attachments使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类app\Article
的用法示例。
在下文中一共展示了Article::attachments方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: includeAttachments
/**
* Include attachments.
*
* @param \App\Article $article
* @param \League\Fractal\ParamBag|null $params
* @return \League\Fractal\Resource\Collection
* @throws \Exception
*/
public function includeAttachments(Article $article, ParamBag $params = null)
{
$transformer = new \App\Transformers\AttachmentTransformer($params);
$parsed = $this->getParsedParams();
$attachments = $article->attachments()->limit($parsed['limit'])->offset($parsed['offset'])->orderBy($parsed['sort'], $parsed['order'])->get();
return $this->collection($attachments, $transformer);
}
示例2: createTestStub
/**
* Stubbing test data.
*
* @param array $overrides
*/
protected function createTestStub($overrides = [])
{
$this->user = !empty($overrides) ? factory(User::class)->create() : factory(User::class)->create($overrides);
$this->user->attachRole(Role::find(2));
$this->article = factory(Article::class)->create(['title' => 'title', 'author_id' => $this->user->id, 'content' => 'description']);
$this->article->comments()->save(factory(Comment::class)->make(['author_id' => $this->user->id]));
$this->article->tags()->attach(1);
$this->article->attachments()->save(factory(Attachment::class)->make());
}
示例3: store
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
// validate request
$validateArticle = Validator::make($request->get('Article'), Article::$rules);
$validationMessages = [];
foreach ($request->get('ArticleTranslation') as $key => $value) {
$validateArticleTranslation = Validator::make($value, ArticleTranslation::$rules);
if ($validateArticleTranslation->fails()) {
$validationMessages = array_merge_recursive($validationMessages, $validateArticleTranslation->messages()->toArray());
}
}
if ($validateArticle->fails() or count($validationMessages) > 0) {
$validationMessages = array_merge_recursive($validateArticle->messages()->toArray(), $validationMessages);
return redirect()->back()->withErrors($validationMessages)->withInput();
}
// get all languages
$languages = Language::all();
// find language default
$languageDefault = $languages->where('is_key_language', 1)->first();
if (is_null($languageDefault)) {
$languageDefault = $languages->first();
}
// sure execute success, if not success rollback
DB::transaction(function () use($request, $languageDefault) {
$user = $request->user();
// insert Article
$article = new Article();
$article->key = Common::createKeyURL($request->input('ArticleTranslation.' . $languageDefault->code . '.name'));
$article->priority = $request->input('Article.priority');
$article->is_publish = $request->input('Article.is_publish');
$article->created_by = $user->name;
$article->updated_by = $user->name;
$article->save();
// sync categories
if ($request->input('Article.categories') != "") {
$categories = explode(",", $request->input('Article.categories'));
if (count($categories) > 0) {
$article->categories()->attach($categories);
}
}
// save attachments
if ($request->input('Article.attachments') != "") {
$requestAttachments = explode(',', $request->input('Article.attachments'));
$attachments = [];
foreach ($requestAttachments as $key => $value) {
array_push($attachments, new Attachment(['entry_id' => $article->id, 'table_name' => 'articles', 'path' => $value, 'priority' => 0, 'is_publish' => 1]));
}
if (count($attachments) > 0) {
$article->attachments()->saveMany($attachments);
}
}
// save data languages
foreach ($request->get('ArticleTranslation') as $locale => $value) {
$article->translateOrNew($locale)->name = $request->input('ArticleTranslation.' . $locale . '.name');
$article->translateOrNew($locale)->summary = $request->input('ArticleTranslation.' . $locale . '.summary');
$article->translateOrNew($locale)->content = $request->input('ArticleTranslation.' . $locale . '.content');
$article->translateOrNew($locale)->meta_description = $request->input('ArticleTranslation.' . $locale . '.meta_description');
$article->translateOrNew($locale)->meta_keywords = $request->input('ArticleTranslation.' . $locale . '.meta_keywords');
}
$article->save();
});
return redirect()->route('admin.articles.index');
}
示例4: includeAttachments
/**
* Include attachments.
*
* @param \App\Article $article
* @param \League\Fractal\ParamBag|null $params
* @return \League\Fractal\Resource\Collection
* @throws \Exception
*/
public function includeAttachments(Article $article, ParamBag $params = null)
{
list($limit, $offset, $orderCol, $orderBy) = $this->calculateParams($params);
$attachments = $article->attachments()->limit($limit)->offset($offset)->orderBy($orderCol, $orderBy)->get();
return $this->collection($attachments, new \App\Transformers\AttachmentTransformer());
}