質問: DB::select()->from('schoolnavi_guidance_entry') ->where('id', $entry['id']) ->execute()->current(); $is_guidance_entry->delete(); のように記述した場合に論理削除が行われません。 エラーメッセージは Call to a member function delete() on a non-object です。 初歩的であるとは思いますが、この場合の原因と解決策についてご教授いただけませんでしょうか。
回答: as_objectメソッドでクラス名を指定すると、取得した各レコードが対象のクラスにマッピングされます。 デフォルトではカラムも配列で返ってくるのでエラーになっているのだと思います。 うまくいかない時は、変数に入っているオブジェクトが何なのかを確認していくと解決に近づくはずです。 > > // Model_Users オブジェクトとして結果が返ります。 > > $result = DB::select()->from('users')->as_object('Model_Users')->execute(); > > > Query Builder Select - クラス - FuelPHP ドキュメント