本文整理汇总了PHP中app\Board::tags方法的典型用法代码示例。如果您正苦于以下问题:PHP Board::tags方法的具体用法?PHP Board::tags怎么用?PHP Board::tags使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类app\Board
的用法示例。
在下文中一共展示了Board::tags方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: putTags
/**
* Put tags.
*
* @return Response
*/
public function putTags(Board $board)
{
if (!$board->canEditConfig($this->user)) {
return abort(403);
}
$input = Input::all();
$rules = ['boardTags' => ["array", "min:0", "max:5"]];
if (isset($input['boardTags']) && is_array($input['boardTags'])) {
$input['boardTags'] = array_filter($input['boardTags']);
}
$validator = Validator::make($input, $rules);
$validator->each('boardTags', ['string', 'alpha_dash', 'max:24']);
if (!$validator->passes()) {
return redirect()->back()->withErrors($validator->errors());
}
$tags = [];
$tagArray = [];
foreach ($input['boardTags'] as $boardTag) {
$boardTag = (string) $boardTag;
if (strlen($boardTag) && !isset($tagArray[$boardTag])) {
// Add the tag to the list of set tags to prevent duplicates.
$tagArray[$boardTag] = true;
// Find or create the board tag.
$tags[] = BoardTag::firstorCreate(['tag' => $boardTag]);
}
}
$board->tags()->detach();
if (count($tags)) {
$tags = $board->tags()->saveMany($tags);
}
Event::fire(new BoardWasModified($board));
return $this->view(static::VIEW_TAGS, ['board' => $board, 'tags' => array_keys($tagArray), 'tab' => "tags"]);
}