我有几个类,所有类都有一个ID字段,声明为<h3>Fullført Jobber</h3>
<div style="overflow-x: auto;">
<table class="table table-responsive" id="jobs-table">
<tr>
<th>Jobb ID</th>
<th>Brukernavn</th>
<th>Kundenavn</th>
<th>Jobbsted</th>
<th>Jobbtype</th>
<th>Note 1</th>
<th>Time Start</th>
<th>Time brukt</th>
</tr>
@foreach($jobs as $job)
@if(!$job->deleted_at == null)
<tr>
<td>{!! $job->id !!}</td>
<td>{!! $job->user_name !!}</td>
<td>{!! $job->customer_name !!}</td>
<td>{!! $job->job_place !!}</td>
<td>{!! $job->job_type !!}</td>
<td>{!! $job->note_1 !!}</td>
<td>{!! $job->created_at !!}</td>
<td>{!! \Carbon\Carbon::parse($job->deleted_at)->diff(\Carbon\Carbon::parse($job->created_at))->format('%H:%I:%S')!!}<td>
</tr>
@endif
@endforeach
</table>
的下一个方式:
Integer
Everything编译并正确运行,但当我只是尝试检查记录是否存在时:
@Expose
@DatabaseField(columnName = "_id", id = true)
private Integer idField;
我得到例外:
Integer idField = 1;
result = DBHelper.getHelper().getClassDAO().idExists(idField);
问题在于,有一个类(让它命名为A),该方法正常工作,但其他方法失败,我不知道哪个是原因,因为所有类都有其ID字段以同样的方式宣布。
如果我尝试java.sql.SQLException: Field '_id' is of data type null which can not be compared
任何类的对象,除了引用的类A,我也会得到这个异常。
任何帮助之手都会受到赞赏。
请注意。该项目使用createOrUpdate
文件,该文件已更新。
答案 0 :(得分:0)
经过几个小时的调试后,我发现只有当要保存的类有一个或多个集合时才会出现上述异常。据我所知,Dao类的idExists
方法中会抛出异常。考虑到createOrSave
方法肯定必须调用它,这就是我在两种情况下都得到SQLException
的原因。
现在,解决此问题的解决方法。我不得不调用idExists
方法,而是创建自己的方法:
return DBHelper.getHelper().getMyDAO().queryForId(idField) != null;
而不是调用createOrUpdate
方法,首先检查记录是否存在,然后根据结果调用Dao类的create
或update
方法想坚持下去。