Ваша проблема связана с конфликтом имен.Когда вы объединяете свои две таблицы, есть 2 fields
.Чтобы решить эту проблему, вы должны использовать псевдоним SQL.Вы можете увидеть пример в этой теме
Вы также можете рассмотреть возможность использования Eloquent, который предлагает преимущества ООП и автоматически избегает подобных проблем.
namespace App;
use Illuminate\Database\Eloquent\Model;
class Kelas extends Model
{
public function siswa()
{
return $this->belongsTo('App\Siswa', 'idSiswa', 'kelas');
}
}
namespace App;
use Illuminate\Database\Eloquent\Model;
class Siswa extends Model
{
public function kelas()
{
return $this->hasMany('App\Kelas', 'idSiswa', 'kelas');
}
}
$siswa = App\Siswa::with('kelas')
->where([
['kelas', '2'],
['semester', 'ganjil'],
])
->get();
$firstSiswaKelasIds = $siswa->first()->kelas->map->id;