使用 Laravel 集合 HTML 获取 json 数据到 textarea
Getting json data to textarea using Laravel Collection HTML
所以我正在使用 Forms & HTML 包,但在输出数据时遇到了一些困难。例如:
当我使用此代码时:
{!! Form::model($article) !!}
{!! Form::textarea('categories', null) !!}
{!! Form::close() !!}
我想在这里实现的是列出与文章相关的所有类别。像这样:
<textarea name="categories">
Cat1
Cat2
Cat5
</textarea>
但是,我不知道如何告诉表单只输出特定的列,所以 textarea
填充了 json 数据(包括所有行)。
我知道最好的解决方案是制作多重选择器,但在这种情况下 - 我必须使用 textarea。
试试这个:
{!! Form::textarea('categories', implode('\n', $article->categories()->select('colName')
->get()->pluck('colName')->all()) !!}
将 colName 替换为您想要的列的名称
为了使表单字段可以包含在更新表单 (Form::model
) 和创建表单 (Form::open
) 中,我做了如下操作:
{!! Form::textarea('categories', isset($article) ? implode(PHP_EOL, $article->categories()->pluck('name')->toArray()) : null)
我在那里所做的是首先检查 $article
是否存在。如果是,则表示我已经使用了 Form::model
。当 $article
存在时,我检索类别列表作为数组并在 PHP_EOL
("\n").
中内爆
但如果没有$article
,则表示该表单应该是创建表单,所以数据为空。
感谢 Paras,我想出了这个解决方案。但是即使我们的结果相同,对这些结果的查询也是不同的。
我的结果查询是:
select `display_name` from `categories` inner join `article_categories` on `categories`.`id` = `article_categories`.`category_id` where `article_categories`.`article_id` = ?
Paras的查询结果为:
select `display_name`, `article_categories`.`article_id` as `pivot_article_id`, `article_categories`.`category_id` as `pivot_category_id` from `categories` inner join `article_categories` on `categories`.`id` = `article_categories`.`category_id` where `article_categories`.`article_id` = ?
这两个查询是相同的,但看起来我的查询有点小,所以我会使用那个查询。
所以我正在使用 Forms & HTML 包,但在输出数据时遇到了一些困难。例如:
当我使用此代码时:
{!! Form::model($article) !!}
{!! Form::textarea('categories', null) !!}
{!! Form::close() !!}
我想在这里实现的是列出与文章相关的所有类别。像这样:
<textarea name="categories">
Cat1
Cat2
Cat5
</textarea>
但是,我不知道如何告诉表单只输出特定的列,所以 textarea
填充了 json 数据(包括所有行)。
我知道最好的解决方案是制作多重选择器,但在这种情况下 - 我必须使用 textarea。
试试这个:
{!! Form::textarea('categories', implode('\n', $article->categories()->select('colName')
->get()->pluck('colName')->all()) !!}
将 colName 替换为您想要的列的名称
为了使表单字段可以包含在更新表单 (Form::model
) 和创建表单 (Form::open
) 中,我做了如下操作:
{!! Form::textarea('categories', isset($article) ? implode(PHP_EOL, $article->categories()->pluck('name')->toArray()) : null)
我在那里所做的是首先检查 $article
是否存在。如果是,则表示我已经使用了 Form::model
。当 $article
存在时,我检索类别列表作为数组并在 PHP_EOL
("\n").
但如果没有$article
,则表示该表单应该是创建表单,所以数据为空。
感谢 Paras,我想出了这个解决方案。但是即使我们的结果相同,对这些结果的查询也是不同的。
我的结果查询是:
select `display_name` from `categories` inner join `article_categories` on `categories`.`id` = `article_categories`.`category_id` where `article_categories`.`article_id` = ?
Paras的查询结果为:
select `display_name`, `article_categories`.`article_id` as `pivot_article_id`, `article_categories`.`category_id` as `pivot_category_id` from `categories` inner join `article_categories` on `categories`.`id` = `article_categories`.`category_id` where `article_categories`.`article_id` = ?
这两个查询是相同的,但看起来我的查询有点小,所以我会使用那个查询。