保存数组值而不是选择表单中的索引

时间:2019-08-29 06:44:50

标签: arrays laravel laravelcollective

我在控制器$status=array('Ended', 'Processing', 'Canceled');中有此数组,并通过return view('Form.FormEdit')->with('status', $status)将其发送到视图。

在选择项中显示每个索引中包含的值 {{Form::select('status', $status, null, array('class'=>'form-control', 'placeholder'=>'Select status'))}},但是它保存了索引号,我不希望这样。

我希望你能帮助我,谢谢。

2 个答案:

答案 0 :(得分:0)

在控制器中,您可以像下面那样制作数组并传递给视图:

$status=[
    'Ended' => 'Ended',
    'Processing' => 'Processing',
    'Canceled' => 'Canceled'
];

return view('Form.FormEdit')->with('status', $status)

答案 1 :(得分:0)

如果要保存文本,则需要一个带有文本键的数组。现在,您的数组只是一个索引数组(0、1、2 ...)。

您可以使用此:

public IActionResult ToReport(int id)
        {
            var OrderId = id;

            SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=aspnet-pasargad;Integrated Security=True;Persist Security Info=False");
            SqlCommand cmd = new SqlCommand();
            cmd.CommandType = CommandType.Text;
            cmd.Connection = con;
            SqlDataReader myReader;
            cmd.CommandText = "SELECT * FROM Products";

            con.Open();
            myReader = cmd.ExecuteReader();

            WebReport report = new WebReport();
            report.Report.Load(@"D:/Report.frx");
            if (myReader.Read())
            {

                report.Report.SetParameterValue("LetterDate", myReader["OrderNumber"]);
                report.Report.SetParameterValue("LetterNumber", myReader["CompanyName"]);
                foreach (DbDataRecord c in myReader)
                {
                    report.Report.SetParameterValue("ENBrand", c["ENBrand"]);
                }
            }
            ViewBag.WebReport = report;
            myReader.Close();
            con.Close();

            return View();
        }