Controoler:
<?php
namespace AppControllers;
use CodeIgniterController;
use AppModelsServices;
class Detail extends Controller
{
public function nadeem($id)
{
$model= new Services();
$data = $model->select('text','title','image')->where('id',$id);
$nadeem['result'] = $data->get();
return view('service_detail', $nadeem);
}
}
view:
<!DOCTYPE html>
<html>
<head>
<title>Service</title>
</head>
<body>
<?php if ($result): ?>
<?php foreach ($result as $key => $value): ?>
<p><?php echo $value['text'];?></p>
<?php endforeach; ?>
<?php endif; ?>
</body>
</html>
I’m facing this error
Cannot use object of type mysqli as array
How can solve this problem.
Advertisement
Answer
Change the controller to this:
$model = new Services();
$nadeem['result'] = $model->select('text, title, image')->where('id',$id)->findAll();
return view('service_detail', $nadeem);
Basically in your case you’re sending to the view the query object and not the query result.
This answer assumes that you’re using the codeigniter 4 Model and not a custom model since you didn’t post the model.