2014-02-10 2 views
2

새로운 웹 프로젝트를 시작하려고합니다. Laravel 4를 사용하기로 결정했습니다. 그러나 저장해야 할 데이터 구조로 인해 Neo4J를 데이터베이스로 사용합니다. 이제, Neo4J를 다루기 위해 Laravel 패키지를 설치했습니다.이 패키지는 here이며 사용 예제를 사용하여 Neo4J 데이터베이스에 액세스 할 수 있습니다.Neo4J 및 Laravel 4 모델

그러나이 새로운 DB에 대해 Eloquent 모델을 작성하는 방법과 함께 Laravel Auth 클래스를 사용하는 방법에 관해서는 완전히 망가졌습니다. 나는 ORM없이 Codeigniter를 사용했기 때문에 모델 구조를 이해할 수 있었지만 Neo4J와 Eloquent ORM을 사용하는 방법이나 ORM을 사용하지 않도록 모델과 인증을 해킹하는 방법을 알지 못합니다. 아마도 내 자신의 쿼리를 작성하고 Laravel 쿼리 작성기 나 Eloquent에 의존하지 않아도되지만이 프로세스를 시작하는 방법이나 이러한 쿼리를 포함하는 모델을 작성하는 방법을 알지 못한다.

나는 Laravel 사이트에서 찾을 수있는 모든 것을 읽었지만 인증 및 데이터베이스 액세스와 관련이있는 것은 그래프가 아닌 데이터베이스를 사용한다고 가정합니다. 누군가가 무엇을 읽을 것인지, 어디에서 더 많은 정보를 찾을 것인지에 대한 조언을 주시면 감사하겠습니다.

답변

5

음, Laravel 4.1 용 neo4j 드라이버를 작성했습니다. 관심이있는 사람은 here입니다. Neo4J에 인증 데이터를 저장하는 것에 관해서는, 필자는 자신의 인증 드라이버를 작성했습니다. 또한 특정 데이터베이스 관련 항목 (예 : unique)을 확인하기 위해 자체 유효성 검사기를 만들었습니다.

0

Eloquent 또는 Fluent를 Neo4j와 함께 사용할 수 없으며 지원되지 않습니다. 그리고 그래프 데이터베이스는 매우 다르게 구성되어 있으므로 절대 존재하지 않을 수도 있습니다.

귀하의 모델은 저장 방법에 대해 걱정할 필요가 없습니다. 이는 저장소의 작업입니다. 그리고 Neo4J 코드가 ​​거기에 있어야합니다. 예를 들어, 저장소에 당신은 할 수 있습니다

public function find($id) 
{ 
    return Neo4j::getNode($id); 
} 

그런 다음 컨트롤러에서 당신이 호출 할 수 있습니다

MyRepository::find(123); 
당신은 그래프 데이터베이스에 인증 정보를 저장하지 않아야

, 그들은 여전히에 있어야 MySQL이나 비슷한.

http://culttt.com/2013/07/08/creating-flexible-controllers-in-laravel-4-using-repositories/ 리포지토리에 대한 더 많은 자료가 있습니다. 그러나 Neo4J 특정 예제를 찾을 수 없습니다.

희망이 있습니다.

+1

Neo4J 설치를 암호로 보호하고 해시 암호가있는 사용자를 계속 유지할 수있는 경우 MySQL에 인증 정보를 저장하는 이유는 무엇입니까? – SuperTron

0

우리는 Neo4j와 MySQL의 차이점을 알고 있습니다. 그러나 때로는 우리가 Eloquent가 제공하는 것과 유사한 기능을 사용해야합니다.

0

NeoEloquent 여기 Neo4j위한 좋은 laravel 패키지입니다 : 그것은 거의 웅변의 동일한 기능을 사용 http://github.com/Vinelab/NeoEloquent 그래서 나는이 프로젝트를 수행하는 것이 좋습니다. 그리고 아주 좋은 문서를 가지고 있습니다.