Eloquent HasMany relationships with multiple Columns
What is the best way to create this relationship?
The tables:
crawls table
- page_id
- date (dateTime)
elements table
- type
- value
- page_id
- added_on (dateTime)
- removed_on (dateTime)
The relation:
A crawl can have many elements
WHERE crawls.page_id = elements.page_id
AND (crawls.date = elements.added_on OR crawls.date = elements.removed_on)
How do you translate this into a HasMany relation?
/**
* Return both added and removed elements
*
* @return \Illuminate\Database\Eloquent\Relations\HasMany
*/
public function elements() : HasMany
{
return $this->hasMany(Element::class, ..................);
}