【问题标题】:laravel how to update a field to a databaselaravel如何将字段更新到数据库
【发布时间】:2014-08-19 08:28:48
【问题描述】:

这是我的代码

$admin = Admin::find(25);
        $admin->picture = $destination;
        $admin->save();

但是当我执行它时,picture 字段保持NULL 例如images/admin_20

destination 是图像位置的字符串。

我已经尝试过->update(),但没有任何保存。

你能帮帮我吗

编辑 1

我数据库中的picture 列是varchar(255) utf8_unicode_ci

【问题讨论】:

  • 我认为你应该检查你的$destination 数据以确保它有内容.. 试试var_dump($destination) 因为从我看到的情况来看,我认为数据没有设置
  • @zaherg 我试过 var_dump 得到了这个结果:string(64) "C:\xampp2\htdocs\ParkingProject\public/adminsImages/admin_20.jpg"
  • 试试这个,尝试为$destination 定义一个值,例如:$destination='what'; 然后执行你的代码,看看它是否会保存新值,以及你使用哪个 Laravel?
  • @zaherg 还是 NULL,我使用的是 laravel 4.2
  • 帮助大家......

标签: php laravel laravel-4 blade


【解决方案1】:

终于找到了问题所在,为这个愚蠢的错误工作了三天

我数据库中的ID 列应该是id

【讨论】:

  • 很好 .. 我告诉过你我闻到了 ID 的腥味;)
  • @zaherg 你能检查我的新问题吗?
  • 不知道是哪个问题,能发一下链接吗?或发送到我的推特@zaherg
  • @zaherg 这是新问题stackoverflow.com/questions/24500198/…我已经问过你另一个问题,但我稍后会尝试解决它,现在这是新问题:)
【解决方案2】:

试试这个:

     $admin = Admin::where('id', '=', 25);
     $admin->picture = $destination;
     $admin->save();

你没有提供太多代码,但如果它是一个函数

      Return $admin->picture;

编辑

Laravel 默认为 UTF8,但为了确保检查文件

 /etc/mysql/my.cnf
 collation-server = utf8_unicode_ci
 init-connect='SET NAMES utf8'
 character-set-server = utf8

【讨论】:

  • $admin 已经在工作,获取 admin 变量没有错,我正在使用它,我可以像 $admin->name 那样从中调用数据,我得到了正确的结果.我在想可能是因为 destination 变量有特殊字符?我在 cmets 上打印了,请检查
  • etc/mysql 在哪里?没找到
猜你喜欢
  • 2019-10-11
  • 2019-05-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-26
  • 2019-03-29
  • 1970-01-01
相关资源
最近更新 更多