我的模型中有一个查询来从数据库中获取数据,并且我的数据库表中存在可以为空的字段。当我尝试在视图中显示所有记录时,空值的字段显示为“NULL”。我希望这些值显示为空字符串。
以下是我在控制器中的内容:
public function showDetails($action, $id)
{
$data_model= new PersonData();
$persons= $data_model->loadSpecificPerson($id);
return view('pages.admin.reporting_person_details', ['action' => $action, 'id' => $id])->with('id', $id)->with(compact('persons'));
}
在我的模特中:
public function loadSpecificPerson($id)
{
$persons = DB::select("SELECT * FROM complainant_t WHERE ComplainantID = ?", [$id]);
return $persons;
}
我想这样做就像你在数组中这样做:
foreach($array as $key => $value)
{
if($array[$key] == NULL)
{
$array[$key] = "";
}
}
这不可能与$ person一起使用,因为它是一个对象,必须使用名称访问吗?那么如何在不必通过列名访问它的情况下执行此操作呢?
答案 0 :(得分:0)
基本上NULL
字段始终显示''
空字符串。
但如果没有,那么你可以达到以下目的。
foreach($persons as $person){
//consider you want to display here
//Please check it's NULL or 'NULL'
echo $person->field === NULL ? '' : $person->field;
}
这里基本上它会检查所有字段,如果字段是NULL
,那么它将显示''
空字符串,否则它将显示原始值。
希望它可以帮到你!
答案 1 :(得分:0)
由于我不是制作数据库的人,我刚刚意识到这个问题是因为字段值是" NULL" (串)。我已经将它修改为NULL并且它现在正常工作,而不必将其转换为空字符串。