PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 2.15.5
Independent Analytics – WordPress Analytics Plugin v2.15.5
2.15.5 2.15.4 2.15.3 2.15.2 2.15.1 2.15.0 2.14.10 trunk 1.1 1.10 1.10.1 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.17.1 1.17.2 1.17.3 1.17.4 1.18 1.18.1 1.19.0 1.19.1 1.2 1.20.0 1.21.0 1.22.0 1.22.1 1.23.0 1.23.1 1.24.0 1.24.1 1.25.0 1.25.1 1.26.0 1.27.0 1.28.0 1.28.1 1.28.2 1.28.3 1.29.0 1.3 1.30.0 1.30.1 1.4 1.5 1.6 1.7 1.8 1.9 2.0.0 2.0.1 2.1.4 2.1.5 2.1.6 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.10 2.11.2 2.11.3 2.11.4 2.11.5 2.11.6 2.11.7 2.11.8 2.11.9 2.12.0 2.12.1 2.12.2 2.13.1 2.13.2 2.13.5 2.13.6 2.14.0 2.14.1 2.14.2 2.14.4 2.14.6 2.14.7 2.14.8 2.14.9 2.2.0 2.2.1 2.3.1 2.3.2 2.4.2 2.4.3 2.5.0 2.5.1 2.6.0 2.6.1 2.6.2 2.6.3 2.6.4 2.7.0 2.7.1 2.7.2 2.7.3 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.8 2.8.9 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7
independent-analytics / vendor / illuminate / database / Eloquent / Relations / HasOneThrough.php
independent-analytics / vendor / illuminate / database / Eloquent / Relations Last commit date
Concerns 1 month ago BelongsTo.php 2 years ago BelongsToMany.php 1 month ago HasMany.php 2 years ago HasManyThrough.php 1 month ago HasOne.php 1 month ago HasOneOrMany.php 1 month ago HasOneThrough.php 2 years ago MorphMany.php 2 years ago MorphOne.php 1 month ago MorphOneOrMany.php 2 years ago MorphPivot.php 1 month ago MorphTo.php 6 months ago MorphToMany.php 2 years ago Pivot.php 2 years ago Relation.php 1 month ago
HasOneThrough.php
69 lines
1 <?php
2
3 namespace IAWPSCOPED\Illuminate\Database\Eloquent\Relations;
4
5 use IAWPSCOPED\Illuminate\Database\Eloquent\Collection;
6 use IAWPSCOPED\Illuminate\Database\Eloquent\Model;
7 use IAWPSCOPED\Illuminate\Database\Eloquent\Relations\Concerns\InteractsWithDictionary;
8 use IAWPSCOPED\Illuminate\Database\Eloquent\Relations\Concerns\SupportsDefaultModels;
9 /** @internal */
10 class HasOneThrough extends HasManyThrough
11 {
12 use InteractsWithDictionary, SupportsDefaultModels;
13 /**
14 * Get the results of the relationship.
15 *
16 * @return mixed
17 */
18 public function getResults()
19 {
20 return $this->first() ?: $this->getDefaultFor($this->farParent);
21 }
22 /**
23 * Initialize the relation on a set of models.
24 *
25 * @param array $models
26 * @param string $relation
27 * @return array
28 */
29 public function initRelation(array $models, $relation)
30 {
31 foreach ($models as $model) {
32 $model->setRelation($relation, $this->getDefaultFor($model));
33 }
34 return $models;
35 }
36 /**
37 * Match the eagerly loaded results to their parents.
38 *
39 * @param array $models
40 * @param \Illuminate\Database\Eloquent\Collection $results
41 * @param string $relation
42 * @return array
43 */
44 public function match(array $models, Collection $results, $relation)
45 {
46 $dictionary = $this->buildDictionary($results);
47 // Once we have the dictionary we can simply spin through the parent models to
48 // link them up with their children using the keyed dictionary to make the
49 // matching very convenient and easy work. Then we'll just return them.
50 foreach ($models as $model) {
51 if (isset($dictionary[$key = $this->getDictionaryKey($model->getAttribute($this->localKey))])) {
52 $value = $dictionary[$key];
53 $model->setRelation($relation, \reset($value));
54 }
55 }
56 return $models;
57 }
58 /**
59 * Make a new related instance for the given model.
60 *
61 * @param \Illuminate\Database\Eloquent\Model $parent
62 * @return \Illuminate\Database\Eloquent\Model
63 */
64 public function newRelatedInstanceFor(Model $parent)
65 {
66 return $this->related->newInstance();
67 }
68 }
69