PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 2.2.0
Independent Analytics – WordPress Analytics Plugin v2.2.0
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 2 years ago BelongsTo.php 2 years ago BelongsToMany.php 2 years ago HasMany.php 2 years ago HasManyThrough.php 2 years ago HasOne.php 2 years ago HasOneOrMany.php 2 years ago HasOneThrough.php 2 years ago MorphMany.php 2 years ago MorphOne.php 2 years ago MorphOneOrMany.php 2 years ago MorphPivot.php 2 years ago MorphTo.php 2 years ago MorphToMany.php 2 years ago Pivot.php 2 years ago Relation.php 2 years ago
HasOneThrough.php
69 lines
1 <?php
2
3 namespace IAWP_SCOPED\Illuminate\Database\Eloquent\Relations;
4
5 use IAWP_SCOPED\Illuminate\Database\Eloquent\Collection;
6 use IAWP_SCOPED\Illuminate\Database\Eloquent\Model;
7 use IAWP_SCOPED\Illuminate\Database\Eloquent\Relations\Concerns\InteractsWithDictionary;
8 use IAWP_SCOPED\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