10-28-2019, 03:31 PM
(This post was last modified: 10-29-2019, 07:18 AM by PaulD.
Edit Reason: Added [php][/php] tags around your code blocks
)
I have the following function that uses a subquery and this error pops up
I used the example for the Online reference as a guide
An ideas on whats wrong with my code?
Thanx
Code:
TypeError
Argument 1 passed to App\Models\MainModel::App\Models\{closure}() must be an instance of App\Models\BaseBuilder,
instance of CodeIgniter\Database\MySQLi\Builder given, called in C:\CI_system_4A\Database\BaseBuilder.php on line 970
PHP Code:
//-----------------------------------------------
function get_current_subjects()
{
$db = \Config\Database::connect();
$builder = $db->table('central.v1_cal_subjects');
$builder = $builder->distinct()->select("subject_code,subject_name");
$builder = $builder->whereIn("cal_id", function(BaseBuilder $builder) [u][color=#e82a1f]// error on this line[/color][/u]
{
return $builder->select("cal_id")->from('central.v1_calendar')->where('`year` >= year(now())', null,false);
}
);
$builder = $builder->orderby("subject_code");
$query = $builder->get();
return $query->getResultArray();
}
I used the example for the Online reference as a guide
Quote:$builder->whereIn('id', function(BaseBuilder $builder) {
return $builder->select('job_id')->from('users_jobs')->where('user_id', 3);
});
// Produces: WHERE "id" IN (SELECT "job_id" FROM "users_jobs" WHERE "user_id" = 3)
An ideas on whats wrong with my code?
Thanx