【发布时间】:2017-03-21 23:22:34
【问题描述】:
我是 laravel 的初学者,我试图找出代码有什么问题,我试图将 $userr 传递为整数,但发现了不同的困难。这是我得到的错误:
Connection.php 第 647 行中的 QueryException: SQLSTATE[HY000]: 一般错误: 1366 Incorrect integer value: '[{"id":5}]' for column 'userid' at row 1 (SQL: insert into
objectsaccess(userid,updated_at, @ 987654324@) 个值 ([{"id":5}], 2017-03-21 23:11:12, 2017-03-21 23:11:12))
型号代码:
$userr = User::select('users.id')
->where(['remember_token' => $token])
->get();
$objectt = Object::select('objects.id')
->where(['objects.name' => $passname])
->get();
$inputs = [ 'userid' => $userr,'objectid' => $objectt];
ObjectAccess::create($inputs);
我想在 objectsaccess 中创建一个带有用户 ID 和对象 ID 的新行。但没有成功。
知道这是为什么吗?
谢谢!
编辑 1:
修复了第一个问题,但我得到了错误:
Collection.php 第 1440 行中的错误异常: 未定义的偏移量:0 在 Collection.php 第 1440 行 在 HandleExceptions->handleError(8, '未定义偏移量: 0', '/var/www/html/rx1/vendor/laravel/framework/src/Illuminate/Support/Collection.php', 1440, array('key' = > 0)) 在 Collection.php 第 1440 行 在 Object.php 第 140 行中的 Collection->offsetGet(0)
if($object)
{
$return['errors'] = 'Send Successful';
$return['status'] = 200;
$return['success'] = 1;
$return['content'] = $object['0']->content; // this is line 140 of object.php
$return['ylink'] = $object['0']->ylink;
$return['slink'] = $object['0']->slink;
return $return;
}
编辑 2($object):
$object = Object::select('objects.*', 'users.LAST','users.remember_token')
->join('users', 'users.LAST', '=', 'objects.passvariable')
->where(['remember_token' => $token])
//->where('objects.passvariable', 'users.passvariable')
->where(['objects.name' => $passname])
->get();
【问题讨论】:
-
您正在为 id 传递一个对象,而不是一个整数。
$inputs = [ 'userid' => $userr->id,'objectid' => $objectt->id];此外,您应该考虑为此使用 Eloquent 关系。 -
我在 Collection.php 第 1440 行遇到 ErrorException:未定义的偏移量:0
标签: laravel