QA@IT
«質問へ戻る

タイトルを修正(s/Arel/ActiveRecord/)

161
タイトル
ActiveRecord::Relationでもとのモデルのカラムにないデータを取得したい
ActiveRecordでもとのモデルのカラムにないデータを取得したい
タグ

ActiveRecordでもとのモデルのカラムにないデータを取得したい

Ruby on RailsのActiveRecordに関する質問です。

例えばGitのリポジトリブラウザを作っているとして、「リポジトリ一覧画面」ではコミットが新しい順にリポジトリを並べたいとします。

これは以下のように書けます:

@repositories = Repository.
  joins(:commits).
  group("repositories.id").
  order("MAX(commits.created_at) DESC")

(注:コミットが0個のリポジトリは存在しないものと仮定しています。)

ここで、「リポジトリ一覧画面」にはリポジトリ名だけでなく、その最終更新時刻も表示したくなったとします。
つまり、SQL中の「MAX(commits.created_at) 」を表示したいのですが、これをActiveRecord経由で取得することはできるでしょうか。

Ruby on RailsのActiveRecordに関する質問です。

例えばGitのリポジトリブラウザを作っているとして、「リポジトリ一覧画面」ではコミットが新しい順にリポジトリを並べたいとします。

これは以下のように書けます:

```ruby
@repositories = Repository.
  joins(:commits).
  group("repositories.id").
  order("MAX(commits.created_at) DESC")
```
(注:コミットが0個のリポジトリは存在しないものと仮定しています。)

ここで、「リポジトリ一覧画面」にはリポジトリ名だけでなく、その最終更新時刻も表示したくなったとします。
つまり、SQL中の「MAX(commits.created_at) 」を表示したいのですが、これをActiveRecord経由で取得することはできるでしょうか。

質問の内容からActiveRecordの話の範疇であると思いました。ArelはActiveRecord内部で使われているもう少し低レベルな概念なので、ちょっとタイトルがミスリードかと。

887
タイトル
Arelでもとのモデルのカラムにないデータを取得したい
ActiveRecord::Relationでもとのモデルのカラムにないデータを取得したい

ActiveRecord::Relationでもとのモデルのカラムにないデータを取得したい

Ruby on RailsのActiveRecordに関する質問です。

例えばGitのリポジトリブラウザを作っているとして、「リポジトリ一覧画面」ではコミットが新しい順にリポジトリを並べたいとします。

これは以下のように書けます:

@repositories = Repository.
  joins(:commits).
  group("repositories.id").
  order("MAX(commits.created_at) DESC")

(注:コミットが0個のリポジトリは存在しないものと仮定しています。)

ここで、「リポジトリ一覧画面」にはリポジトリ名だけでなく、その最終更新時刻も表示したくなったとします。
つまり、SQL中の「MAX(commits.created_at) 」を表示したいのですが、これをActiveRecord経由で取得することはできるでしょうか。

Ruby on RailsのActiveRecordに関する質問です。

例えばGitのリポジトリブラウザを作っているとして、「リポジトリ一覧画面」ではコミットが新しい順にリポジトリを並べたいとします。

これは以下のように書けます:

```ruby
@repositories = Repository.
  joins(:commits).
  group("repositories.id").
  order("MAX(commits.created_at) DESC")
```
(注:コミットが0個のリポジトリは存在しないものと仮定しています。)

ここで、「リポジトリ一覧画面」にはリポジトリ名だけでなく、その最終更新時刻も表示したくなったとします。
つまり、SQL中の「MAX(commits.created_at) 」を表示したいのですが、これをActiveRecord経由で取得することはできるでしょうか。

allは配列を返すので付けてはいけなかった。

161
本文
 これは以下のように書けます:
 
 ```ruby
-@repositories = Repository.all.
+@repositories = Repository.
   joins(:commits).
   group("repositories.id").
   order("MAX(commits.created_at) DESC")

Arelでもとのモデルのカラムにないデータを取得したい

Ruby on RailsのActiveRecordに関する質問です。

例えばGitのリポジトリブラウザを作っているとして、「リポジトリ一覧画面」ではコミットが新しい順にリポジトリを並べたいとします。

これは以下のように書けます:

@repositories = Repository.
  joins(:commits).
  group("repositories.id").
  order("MAX(commits.created_at) DESC")

(注:コミットが0個のリポジトリは存在しないものと仮定しています。)

ここで、「リポジトリ一覧画面」にはリポジトリ名だけでなく、その最終更新時刻も表示したくなったとします。
つまり、SQL中の「MAX(commits.created_at) 」を表示したいのですが、これをActiveRecord経由で取得することはできるでしょうか。

Ruby on RailsのActiveRecordに関する質問です。

例えばGitのリポジトリブラウザを作っているとして、「リポジトリ一覧画面」ではコミットが新しい順にリポジトリを並べたいとします。

これは以下のように書けます:

```ruby
@repositories = Repository.
  joins(:commits).
  group("repositories.id").
  order("MAX(commits.created_at) DESC")
```
(注:コミットが0個のリポジトリは存在しないものと仮定しています。)

ここで、「リポジトリ一覧画面」にはリポジトリ名だけでなく、その最終更新時刻も表示したくなったとします。
つまり、SQL中の「MAX(commits.created_at) 」を表示したいのですが、これをActiveRecord経由で取得することはできるでしょうか。

質問を投稿

Arelでもとのモデルのカラムにないデータを取得したい

Ruby on RailsのActiveRecordに関する質問です。

例えばGitのリポジトリブラウザを作っているとして、「リポジトリ一覧画面」ではコミットが新しい順にリポジトリを並べたいとします。

これは以下のように書けます:

@repositories = Repository.all.
  joins(:commits).
  group("repositories.id").
  order("MAX(commits.created_at) DESC")

(注:コミットが0個のリポジトリは存在しないものと仮定しています。)

ここで、「リポジトリ一覧画面」にはリポジトリ名だけでなく、その最終更新時刻も表示したくなったとします。
つまり、SQL中の「MAX(commits.created_at) 」を表示したいのですが、これをActiveRecord経由で取得することはできるでしょうか。

Ruby on RailsのActiveRecordに関する質問です。

例えばGitのリポジトリブラウザを作っているとして、「リポジトリ一覧画面」ではコミットが新しい順にリポジトリを並べたいとします。

これは以下のように書けます:

```ruby
@repositories = Repository.all.
  joins(:commits).
  group("repositories.id").
  order("MAX(commits.created_at) DESC")
```
(注:コミットが0個のリポジトリは存在しないものと仮定しています。)

ここで、「リポジトリ一覧画面」にはリポジトリ名だけでなく、その最終更新時刻も表示したくなったとします。
つまり、SQL中の「MAX(commits.created_at) 」を表示したいのですが、これをActiveRecord経由で取得することはできるでしょうか。