以下のスニペットを使用して、チェックロールをアーカイブする手助けがあります。私が達成したいのは、割り当てられた役割に応じてユーザーを認証できることです。
戻り値の配列では、in_array()が機能しません。 返される配列は次のとおりです。codeigniterを使用してdbからin_arrayをチェックする
array (size=2) 0 => object(stdClass)[40] public 'role' => string '2' (length=1) 1 => object(stdClass)[41] public 'role' => string '5' (length=1)
私は任意の助けを感謝しています。おかげ
DB TABLE
id user_id role
1 4 2
2 4 5
モデル
//get logged user roles
public function user_roles($id){
$userDB = $this->quickDB();
$userdata = $userDB->query("SELECT role
FROM role_assignment
WHERE user_id = $id
")->result();
$userDB->close();
return ($userdata);
}
コントローラー:あなたのコード内
public function user_roles()
{
$roles=$this->Master_model->user_roles('4');
if (in_array("1", $roles))
{
echo "Admin<br>";
}
if (in_array("2", $roles))
{
echo "Teacher<br>";
}
if (in_array("5", $roles))
{
echo "Academic<br>";
}
}
あなたの質問は何ですか?何が問題になっていますか? – shaggy