gpt4 book ai didi

php - 选择 2 不显示所选选项。 (拉拉维尔)

转载 作者:行者123 更新时间:2023-12-01 03:35:10 25 4
gpt4 key购买 nike

我正在使用 select2 jquery 插件和 laravel 表单模型绑定(bind)来渲染来自服务器的数据。虽然其他一切工作正常,但它不会将已附加到帖子的标签呈现为选定选项。

一定有什么我不知道的,这是我的看法。

<div class="form-group">
{!! Form::label('tag_list','Tags:') !!}
{!! Form::select('tag_list[]', $tags,null,['id'=>'tag_list', 'class'=>'form-control','multiple']) !!}

</div>

// This is the select 2 script
$('#tag_list').select2({
'placeholder':'Choose Tags',
tags:true,
tokenSeparators:[",", " "],
createTag:function(newTag){
return{
id:'new:' + newTag.term,
text:newTag.term + '(new)'
};
}
});

这是文章模型中的 getTagListAtrribute 函数

//这是getTagListAttribute函数

 public function getTagListAttribute(){
return $this->tags->lists('post_id')->all();
}

我从 Controller 加载编辑表单,如下所示:

public function article_edit($slug){
// fetch the articles.
//$article = DB::table('articles')->where('slug',$slug)->first();

$article = Article::where('slug',$slug)->first();

/*echo '<pre>';
print_r($article->title);
die();*/
$tags = DB::table('tags')->lists('name','tag_id');
$categories=DB::table('categories')->lists('category_name','category_id');

return view('admin.pages.edit', compact('article','tags','categories'));
}

我只想在页面加载时选择与文章关联的标签,但我无法做到这一点。所以我需要帮助。

最佳答案

好吧,既然您已将问题标记为 laravel-5.1lists 方法进行了一些更改。

在 Laravel 5.0.* 中,它仅返回您在 lists 方法中传递的 keys 和/或 values 的普通数组。 More info here

在 Laravel 5.1.* 中,它返回一个 Collection 对象。 More Info - Just the code documentation

因此,您正在寻找的解决方案是:

在 Controller 中,执行以下操作:

$tags = DB::table('tags')->lists('name','tag_id')->toArray();

或者在 View 文件中执行以下操作:

{!! Form::select('tag_list[]', $tags->toArray(), null,['id'=>'tag_list', 'class'=>'form-control','multiple']) !!}

这应该对你有用。

编辑1:

getTagsListAttribute() 中删除 all() 方法。这根本不是必需的。

为什么使用DB Facade 来查询tags 表?由于您已经建立了关系,因此无需执行 SQL 语句。尽可能避免这种情况。

您应该通过简单地执行以下操作来获得它:

$tags = $article->tags;

编辑2:

您确定 tags 表中有 tag_id 列吗?我不信。我想这一定是一个拼写错误。您一定是错误地输入了 tag_id 而不是 id。交叉验证以确认。

希望这对您有帮助。快乐编码。干杯。

关于php - 选择 2 不显示所选选项。 (拉拉维尔),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36645323/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com