我有一个页面显示了单个测试用例的详细信息。出于某种原因,我无法跳过这个错误,甚至无法发送$id
。这是我的控制器:
public function show($id)
{
$data =DB::table('TestCase')->where('TestCaseID', $id);
return view('managements.testcase-details')->with($data);
}
以下是错误:
在视野中。php第180行位于HandleExceptions-
我在模型中添加了这个
<pre>
namespace App;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Builder;
class holding extends Model
{
public $timestamps = false;
public $incrementing = false;
public $keyType = 'string';
protected $table = 'tb_holding';
protected $primaryKey = ['qsymbol','id_user'];
protected $fillable = ['qsymbol','qlotbuy','qbuyprice','qstoploss','qlaststopls','qbuydate','idnote','id_user'];
//---> Illegal offset type while updating model
//---> because primary key more than 1 --> add this
//https://laracasts.com/discuss/channels/laravel/illegal-offset-type-while-updating-model?page=1
protected function setKeysForSaveQuery(Builder $query)
{
return $query->where('qsymbol', $this->getAttribute('qsymbol'))
->where('id_user', $this->getAttribute('id_user'));
}
</pre>
这个方法解决了我的问题,我在这里展示它作为一个例子-
我们要使用的类-
<?php
namespace App;
use App\Helpers\ModelMPK; //MPK stands for Multi-column Primary Key handling
class AccountSession extends ModelMPK
{
protected $hidden = ["account_id", "id"];
protected $primaryKey = ['account_id', 'session'];
public $incrementing = false;
}
自定义模型类,我从某处复制了该函数,我不能在这里引用他,因为我无法从中获取该函数-
<?php
namespace App\Helpers;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Builder;
class ModelMPK extends Model
{
/**
* Set the keys for a save update query.
*
* @param \Illuminate\Database\Eloquent\Builder $query
* @return \Illuminate\Database\Eloquent\Builder
*/
protected function setKeysForSaveQuery(Builder $query)
{
$keys = $this->getKeyName();
if(!is_array($keys)){
return parent::setKeysForSaveQuery($query);
}
foreach($keys as $keyName){
$query->where($keyName, '=', $this->getKeyForSaveQuery($keyName));
}
return $query;
}
/**
* Get the primary key value for a save query.
*
* @param mixed $keyName
* @return mixed
*/
protected function getKeyForSaveQuery($keyName = null)
{
if(is_null($keyName)){
$keyName = $this->getKeyName();
}
if (isset($this->original[$keyName])) {
return $this->original[$keyName];
}
return $this->getAttribute($keyName);
}
}
你忘了一点。一个get
并设置数据变量名。您的错误意味着您传递的是一个查询生成器,而不是它的结果。第二个错误是您传递了一个NULL
值(带有的中的第二个参数)。
$data =DB::table('TestCase')->where('TestCaseID', $id)->get();
return view('managements.testcase-details')->with('data', $data);
在视图中,使用
data
就像使用数组一样:foreach($data…)
。
问题内容: 我越来越 非法胶印类型 此代码每次迭代的错误。这是代码: 问题答案: __当您尝试使用 对象 或 数组 作为索引键访问数组索引时,会发生 非法的偏移类型 错误。 例: 您的数组包含一个对象或数组,其值为的某个值,当您尝试将其用作的索引键时,会收到警告。您必须确保包含所需的内容并正确访问它。
问题内容: 为什么这小段代码在第6行和第10行中给出非法的类型错误开始(用于循环)…。我找不到任何不匹配的花括号… 我已经实现了Stack类 问题答案: 您不能在类级别使用循环。将它们放入a 或a 另外在没有这样的构造函数。 它应该是 另一个问题 只需将其更改为
我正在学习Netbeans CRUD应用程序教程(修改为使用我自己的数据库),我发现了一个我根本无法理解的错误。 错误显示“类型的非法开始”;'预期,找不到符号 这是我的代码: 错误在最后4行: 我知道这很简单,但我不知道该怎么解决。我确信这是一个错位的“;”还是什么? 你肯定知道,我对Java是新手。 我已经做了教程所说的一切,但似乎无法解决这个问题... 任何帮助都是伟大的! 谢啦
问题内容: 将我的php版本更新到5.4.0-3后,我收到一个奇怪的PHP错误。 我有这个数组: 当我尝试像这样访问它时,会收到奇怪的警告 我真的不想只编辑我的php.ini并重新设置错误级别。 问题答案: 请尝试这种方式。…我已经测试了此代码。
我试图用PHP做一个待办事项列表 但是我收到这个错误警告:非法的字符串偏移量'todo' 在我的todo.php页面的顶部 在html部分 我该怎么解决这个?它一直警告我=>警告:非法字符串偏移量'todo' todo存在于我的mysql数据库中,其中包含待办事项activity的数据
对,第一次使用分页,无法使其在第一页之外工作(404错误)。这一切似乎都围绕着$offset变量展开,就好像我将offset的变量更改为整数(如15),它会在第一页上显示从第15行开始的结果-但是$offset- 控制器: 型号: URL(首页): URL(第二页): 我做错了什么? 虽然这与错误无关,但请查看: