【发布时间】:2020-09-30 18:26:55
【问题描述】:
我想创建 2 个 JOIN 表 mysql 并出现错误。由 Bengkel_model.php 上的函数引起的错误,但我不知道因为我是 CodeIgniter 的新手。
我的控制器Bengkel.php
<?php namespace App\Controllers;
use CodeIgniter\Controller;
use App\Models\Bengkel_model;
class Bengkel extends Controller
{
public function index()
{
$model = new Bengkel_model();
$data['bengkel'] = $model->getBengkel();
echo view('bengkel_view',$data);
}
public function add_new()
{
echo view('add_bengkel_view');
}
public function save()
{
$model = new Bengkel_model();
$data = array(
'nmBengkel' => $this->request->getPost('nmBengkel'),
'rtBengkel' => $this->request->getPost('rtBengkel')
);
$model->saveBengkel($data);
return redirect()->to('/bengkel');
}
function edit($id)
{
$model = new Bengkel_model();
$data['bengkel'] = $model->getBengkel($id)->getRow();
echo view('edit_bengkel_view', $data);
}
public function update()
{
$model = new Bengkel_model();
$id = $this->request->getPost('idBengkel');
$data = array(
'nmBengkel' => $this->request->getPost('nmBengkel'),
'rtBengkel' => $this->request->getPost('rtBengkel'),
);
$model->updateBengkel($data, $id);
return redirect()->to('/bengkel');
}
public function delete($id)
{
$model = new Bengkel_model();
$model->deleteBengkel($id);
return redirect()->to('/bengkel');
}
public function pcc_method()
{
$data = $this->Bengkel_model->getPccMethod();
}
}
我尝试在 Controller 上添加构造函数,但仍然出现错误。我是 CodeIgniter 的新手。
我的模型Bengkel_model.php
<?php namespace App\Models;
use CodeIgniter\Model;
class Bengkel_model extends Model
{
protected $table = 'bengkel';
public function getBengkel($id = false)
{
if($id === false){
return $this->findAll();
}
else{
return $this->getWhere(['idBengkel' => $id]);
}
}
public function getPccMethod()
{
$response = array();
$this->db->select('*');
$this->db->from('rating');
$this->db->join('user','user.idUser = rating.idUser');
$query = $this->db->get();
$response = $query->result_array();
if($query->num_rows() != 0)
{
return $response;
}
else
{
return false;
}
}
public function saveBengkel($data)
{
$query = $this->db->table($this->table)->insert($data);
return $query;
}
public function updateBengkel($data, $id)
{
$query = $this->db->table($this->table)->update($data, array('idBengkel' => $id));
return $query;
}
public function deleteBengkel($id)
{
$query = $this->db->table($this->table)->delete(array('idBengkel' => $id));
return $query;
}
}
任何人都可以帮助我。我很沮丧。对不起我的英语不好。
【问题讨论】:
-
$this->Bengkel_model为空,无论设置失败。 -
您错过了创建模型对象。和@ViLar一起去
标签: php codeigniter join codeigniter-4