2013-05-24 4 views
2

저는 PHP 프레임 워크로 이동하기로 결정한 후 laravel을 선택했습니다. 나는 웅변적인 질문을 사용하여 데이터베이스에서 결과 집합을 검색하고 있습니다.laravel eloquent의 결과 집합을 조작하십시오.

이것은 잘 작동하며 예상대로 결과가 나옵니다.

그러나 이제 기사 날짜의 형식을 전체 컬렉션의 다른 날짜 형식으로 변경하려고합니다.

일반적인 PHP 메서드를 사용하여 개체를 반복하고 변경하는 것에 대해 생각했지만 개체 자체를 사용하여 쿼리 나 en 매스를 시작할 때 데이터를 조작하는 더 쉬운 방법이 있는지 궁금해했습니다.

나는 돌연변이 체를 보았는가? 하지만, 뮤 테이터를이 어떤 도움을

구현하는 방법을 적절했다 경우 또는이 작동하는지, 포인터가

답변

4

을 시도해 가야할 길입니다. (Laravel 3 구문)

Getter and Setter documentation for Eloquent models

public function get_article_date() 
{ 
    return date('d-m-Y H:i:s', strtotime($this->get_attribute('article_date')); 
} 

가 속성

$articles = Articles::get(array(
    'article_date', 
    'image_link', 
    'headline', 
    'published' 
)); 

foreach($articles as $article) 
{ 
    echo $article->article_date; 
} 

당신이 먼저 수정 된 결과를 반환 뮤 테이터를 통해 실행 모델에서 날짜를 얻을 때마다 얻기.

이와 같이 원시 쿼리를 실행할 필요가 없습니다. $를 : -이 필요한 결과를 거의 다했다 - 나는 원시하지만이에 대한 답을 변경 확실 않네

편집 필요 더 커피 (대답은 편집)

+0

crikey - 두 가지 솔루션! 고마워요 - 이것도 잘 알려 드리겠습니다. – Ray

+0

@Ray가 getter로 제대로 작동하는 대답을 편집했습니다 –

+0

톰이이 솔루션을 지금 구현하는 방법을 100 % 확신하지 못했습니다. 내 문서 모델에서이 코드를 배치했지만 지금까지 예상대로 날짜 형식이 변경되지 않은 것 같습니다. 맞습니까? 어떻게 불려지나요? – Ray

1

임 확실하지 감사하십시오 않네하지만, 그것은 네 말이 맞아

$posts = Article::select(array('articles.id',DB::raw('CAST(articles.article_date as date)'),'articles.image_link','articles.headline','articles.category', 'articles.published')); 
+0

큰 ... 설정되었다과 혼동 article.id ', DB :: raw ('DATE_FORMAT (article_date, "% d/% m/% Y") AS uk_date '),'articles.image_link ','기사를 선택하십시오. 제목 ','articles.category ','articles.published '))); 올바른 형식으로 날짜를 제공했습니다. 감사합니다 – Ray