Antes de mais nada, o PHP está dizendo que a coluna cidades não existe, o primeiro problema está aí
O segundo, é que você não está usando o Eloquent para fazer as queries, que facilita muito o seu trabalho, por exemplo, ao envés disso:
$estado = $this->estadoModel->find($idEstado);
Você pode fazer algo como isso:
$estado = Estado::find($idEstado);
Por boa prática você deve importar as models utilizadas usando use, afim de usar o Eloquent, que é o ORM do Laravel.
Por exemplo, no meu projeto, para utilizar a classe/model categoria, que se relaciona com produtos eu importo e depois faço a referência aos métodos estáticos:
use app\Produto; // model de produto
use app\Categoria; //model de categoria
use Request;
Para fazer buscas, você pode fazer assim:
$produto = Produto::find($id);
if(empty($produto)) return 'Produto não encontrado';
return view('produto.detalhes', ['produto' => $produto]);
Então, acho que você pode substituir sua função getCidades por algo parecido com:
//código omitido
public function getCidades($idEstado)
{
$cidades = Estado::find($idEstado)->cidades;
return Response::json($cidades);
}
Dá uma boa lida nesse link aqui:
https://laravel.com/docs/5.3/eloquent-relationships