laravel 5在一行中更新多列?

时间:2017-07-07 08:45:16

标签: laravel-5.4

可以使用laravel 5.4更新一行中的多个列?

我尝试了这个

using (SqlCommand sql_command = factorySqlCommand.SqlCommand(query, transaction))
            {
                sql_command.Parameters.AddWithValue("@userId", user_id);
                if (!String.IsNullOrEmpty(query) && sql_command != null && transaction.Connection != null)
                {
                    sql_command.Connection.Open();
                    if (sql_command.Connection.State == System.Data.ConnectionState.Open)
                    {
                        using (SqlDataReader myReader = sql_command.ExecuteReader())
                        {
                            while (myReader.Read())
                            {

只有第一部分是工作([$ _ POST [' name'] => $ _POST [' content']])

服务器不会返回任何错误,但只有第一部分成功。

2 个答案:

答案 0 :(得分:6)

Laravel中的更新方法语法是这样的:

DB::table('users')
        ->where('id', 1)
        ->update(['options->enabled' => true]);

这意味着我们要更新的值在数组中,我所看到的是您将要更新的内容分成两个数组

DB::table('Home_Content')->where('id',1)->update(
    [$_POST['name'] => $_POST['content']],
    [$_POST['title'] => $_POST['titleMsg']]
    );

所以现在你已经不在了数组

您的代码应该是这样的

DB::table('Home_Content')->where('id',1)->update([
    $_POST['name'] => $_POST['content'],
    $_POST['title'] => $_POST['titleMsg']
]);

意味着每对都有一个键和一个值,并以comma

分隔

答案 1 :(得分:0)

如果要更新id为Array()的多行记录,请使用以下查询。

JsonConvert.DeserializeObject